Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

Python สำหรับผู้ใช้สเปรดชีต


Excel เป็นสเปรดชีตที่มีชื่อเสียงที่สุด และผู้ใช้คอมพิวเตอร์เกือบทุกคนพอใจกับแนวคิดในการจัดการข้อมูลผ่านสเปรดชีต ในที่สุดบางโปรแกรม python ก็ต้องโต้ตอบกับ excel ไลบรารีหลามจำนวนมากพร้อมให้สร้าง อ่าน และเขียนลงในไฟล์ excel เราจะดูตัวอย่างของห้องสมุดที่สำคัญไม่กี่แห่งด้านล่าง

การใช้ openpyxl

ไลบรารีนี้สามารถอ่าน/เขียนไฟล์ Excel 2010 xlsx/xlsm/xltx/xltm ในตัวอย่างด้านล่าง เราสร้างเวิร์กชีต excel กำหนดข้อมูลให้กับเซลล์ และสุดท้ายบันทึกไฟล์ไปยังตำแหน่งที่ต้องการ โมดูลนี้มีวิธีการในตัวมากมายที่สามารถใช้สำหรับสิ่งนี้ เราเห็นวิธีการเหล่านั้นที่ใช้ด้านล่าง

ตัวอย่าง

#openpyxl
from openpyxl import Workbook
Spreadsheet = Workbook()

# grab the active worksheet
worksheet = Spreadsheet.active

# Data can be assigned directly to cells
worksheet['A1'] = 50

# Rows can also be appended
worksheet.append([5, 15, 25, 35, 45, 55])
worksheet.append([9, 19, 29, 39, 49, 59])

# Python types will automatically be converted
import datetime
t1 = datetime.datetime.now()
worksheet['A1'] = t1.year
worksheet['A2'] = t1

# Save the file
Spreadsheet.save("E:\\openpyxl.xlsx")

ผลลัพธ์

การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -

Python สำหรับผู้ใช้สเปรดชีต 

การใช้ xlwt

นี่คือไลบรารี่สำหรับนักพัฒนาเพื่อใช้สร้างไฟล์สเปรดชีตที่เข้ากันได้กับ Microsoft Excel เวอร์ชัน 95 ถึง 2003 เราไม่เพียงแต่สามารถเขียนค่าลงในเซลล์เท่านั้น แต่ยังสามารถจัดรูปแบบค่าได้อีกด้วย ค่าต่างๆ สามารถทำเป็นตัวหนา สี ตัวเอียง ฯลฯ นอกจากนี้ยังสามารถควบคุมขนาดตัวอักษรได้ ในตัวอย่างด้านล่าง เราจัดรูปแบบตัวเลขที่เขียนและทำให้เป็นสีน้ำเงิน

ตัวอย่าง

import xlwt
from datetime import datetime

Spreadsheet = xlwt.Workbook()
worksheet = Spreadsheet.add_sheet('Newsheet1')

format1 = xlwt.easyxf('font: name Times New Roman, color-index blue, bold on', num_format_str='#,##0.00')
format2 = xlwt.easyxf(num_format_str='D-MMM-YY')

worksheet.write(0, 0, datetime.now(), format2)
worksheet.write(0, 1, datetime.now().strftime("%B"),format2)
worksheet.write(0, 2, datetime.now().strftime("%A"),format2)
worksheet.write(1, 0, 5369.2, format1)
worksheet.write(1, 1, 1926.5,format1)
worksheet.write(1, 2, 4896.2,format1)
worksheet.write(2, 0, 5)
worksheet.write(2, 1, 10)
worksheet.write(2, 2, xlwt.Formula("A3+B3"))
Spreadsheet.save('E:\\xlwt_spreadsheet.xls')

ผลลัพธ์

การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -

Python สำหรับผู้ใช้สเปรดชีต 

การใช้ xlsxwriter

โมดูลนี้สามารถสร้างไฟล์ excel ของเวอร์ชัน 2007 ได้ โดยมีจำนวนคุณลักษณะที่กว้างกว่าโมดูลที่สร้างไฟล์ excel ด้านบนมาก สามารถเขียนข้อความ ตัวเลข สูตร และไฮเปอร์ลิงก์ไปยังแผ่นงานได้หลายแผ่น ในตัวอย่างด้านล่าง ไม่เพียงแต่เราจะจัดรูปแบบข้อความในชีตเท่านั้น แต่ยังเพิ่มรูปภาพลงในชีตด้วย

ตัวอย่าง

import xlsxwriter
Spreadsheet = xlsxwriter.Workbook('E:\\xlsxw_spreadsheet.xlsx')
sheet = Spreadsheet.add_worksheet()
sheet.set_column('A:A', 18)

# Add a bold format to use to highlight cells.
bold = Spreadsheet.add_format({'bold': True})

#simple text.
sheet.write('A1','Freelancer',bold)
sheet.write('A2', 'Work')
sheet.write('A3', 100)
sheet.write('A4', 1000)

sheet.write('B1', 'DECIMAL', bold)
sheet.write('B2', 17.1)
sheet.write('B3', 29.6)
sheet.write('B4', 45.9)

sheet.write('C1', 'POSITIVE',bold)
sheet.write('C2', 69)
sheet.write('C3', 53)
sheet.write('C4', 36)

sheet.write('D1','NEGATIVE',bold)
sheet.write('D2', -89)
sheet.write('D3', -26)
sheet.write('D4', -15)

# Insert an image.
sheet.insert_image('E5', 'E:\\firefox.JPG')
Spreadsheet.close()

ผลลัพธ์

การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -

Python สำหรับผู้ใช้สเปรดชีต