Python合並多個Excel數據


安裝模塊

1、找到對應的模塊  http://www.python-excel.org/

2、用pip install 安裝

pip install xlrd
pip install XlsxWriter

pip list查看

XlsxWriter示例

 1 import xlsxwriter
 2 
 3 # 創建一個工作簿並添加一個工作表
 4 workbook = xlsxwriter.Workbook("demo.xlsx")
 5 worksheet = workbook.add_worksheet()
 6 
 7 # 設置列寬
 8 worksheet.set_column("A:A", 20)
 9 
10 # 設置格式
11 bold = workbook.add_format({"bold": True})
12 
13 # 設置單元格的值
14 worksheet.write("A1", "Hello")
15 
16 # 帶格式的單元格
17 worksheet.write("A2", "World")
18 
19 # 寫一些數字,用行列標識
20 worksheet.write(2, 0, 123)
21 worksheet.write(3, 0, 123.456, bold)
22 
23 # 插入一張圖片
24 worksheet.insert_image("B5", "C:/Users/Cheng/Desktop/1.png")
25 
26 # 關閉文件流
27 workbook.close()

運行結果如下:

合並Excel數據

思路

Excel是由行和列組成的,所以這里將所有文件中的所有sheet中的數據讀取出來組成一個二維數組,然后再寫入新的Excel

代碼

 1 import xlrd
 2 import xlsxwriter
 3 
 4 source_xls = ["D:/python/1.xlsx", "D:/python/2.xlsx"]
 5 target_xls = "D:/python/3.xlsx"
 6 
 7 # 讀取數據
 8 data = []
 9 for i in source_xls:
10     wb = xlrd.open_workbook(i)
11     for sheet in wb.sheets():
12         for rownum in range(sheet.nrows):
13             data.append(sheet.row_values(rownum))
14 print(data)
15 # 寫入數據
16 workbook = xlsxwriter.Workbook(target_xls)
17 worksheet = workbook.add_worksheet()
18 font = workbook.add_format({"font_size":14})
19 for i in range(len(data)):
20     for j in range(len(data[i])):
21         worksheet.write(i, j, data[i][j], font)
22 # 關閉文件流
23 workbook.close()

運行結果

 

體會

剛開始學習Python,可能是由於看慣了Java代碼的緣故吧,初學起來感覺語法怪怪的,跟Java有些類似,又感覺和JavaScript,Perl這種有點像。。。

不愧是,面向對象的、解釋型的高級編程語言!!!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM