Python3 進行讀取、修改和寫Excel表格(.xlsx檔案)的常用功能示例
讀取我一般用xlrd(僅支援讀),修改用openpyxl(支援讀寫改),寫用xlsxwriter(僅支援寫 )
xlrd安裝命令 pip install xlrd
openpyxl安裝命令 pip install openpyxl
xlsxwriter安裝命令 pip install xlsxwriter
(不多介紹,新手可以參考Ipython的安裝過程)
Win10中如何裝IPython?(其他Windows版本也通用)
https://blog.csdn.net/COCO56/article/details/81058483
下面是我經常用到的一些功能:
基礎功能:
xlrd
匯入庫,開啟test.xlsx,獲取該檔案的所有sheet名(呼叫的是函式,返回的是一個列表 )
import xlrd
workbook = xlrd.open_workbook('test.xlsx')
sheetnames = workbook.sheet_names()
通過名字遍歷每一個sheet,列印總行數和總列數以及第一行第一列的單元格的值(從0開始)
for sheetN in sheetnames:
sheet = workbook.sheet_by_name(sheetN)
print(sheet.nrows)
print(sheet.ncols)
print(sheet.cell(0,0).value)
openpyxl
載入一個已存在的檔案的例子(如果是需要新建的可以使用openpyxl.Workbook(‘hello.xlxs‘),不過單純新建的話建議用xlsxwriter)並列印Sheet_names
import openpyxl
wb = openpyxl.load_workbook('test.xlsx')
print(wb.get_sheet_names())
接著上面的程式碼,訪問第一個worksheet,獲取該sheet的最大行數和最大列數(此外還有:min_row:表格的最小,min_column:表格的最小列,rows:按行獲取單元格(Cell物件) - 生成器,columns:按列獲取單元格(Cell物件) - 生成器,values:按行獲取表格的內容(資料) - 生成器)
ws = wb[wb.sheetnames[0]]
print(ws.max_row)
print(ws.max_column)
列印第一行第一列的單元格的值(注意是從1開始,不是從0開始,另外 row=和column=可預設)
print(ws.cell(row=1, column=1).value)
print(ws.cell(1, 1).value) #row=和column=可預設
修改第一行第一列的單元格的值為1並儲存(可以等全部修改完之後再儲存,不需要每次修改都儲存一下)
ws.cell(1, 1).value = 1
wb.save('test.xlsx')
xlsxwriter
開啟一個xlsx檔案(如果開啟的檔案存在 ,則清空該檔案,如果檔案不存在,則新建)
新建一個Sheet(名字預設的話,預設從Sheet1開始,可以新增自己的sheet名字workbook.add_worksheet(‘TestSheet’))
修改該Sheet的第一行的第一列的元素為1(行號和列號預設從0開始)
最後關閉檔案
import xlsxwriter
workbook = xlsxwriter.Workbook('test2.xlsx')
worksheet = workbook.add_worksheet()
worksheet.write(0,0,1)
workbook.close()
進階功能:
openpyxl
https://blog.csdn.net/COCO56/article/details/84590544
xlsxwriter
官方文件:https://xlsxwriter.readthedocs.io/
1.設定自動換行、水平居中和垂直居中
import xlsxwriter
wb = xlsxwriter.Workbook('test.xlsx')
cell_format_wrap = wb.add_format({'text_wrap':True})
cell_format_vcenter = wb.add_format({'valign':'vcenter'})
cell_format_center = wb.add_format({'align':'center'})
cell_format_vcenter_and_center = wb.add_format({'align':'center', 'valign':'vcenter'})
ws = wb.add_worksheet()
ws.write(0, 0, 'data', cell_format_wrap)
相關文章
- PHPExcel讀取excel檔案示例PHPExcel
- Javascript寫入txt和讀取txt檔案示例JavaScript
- 解析xlsx檔案---Java讀取Excel2007JavaExcel
- [python]使用xlrd對Excel表格進行讀寫操作PythonExcel
- phpexcel讀取excel的xls xlsx csv格式PHPExcel
- java讀取excel為物件並進行讀寫操作JavaExcel物件
- Python讀寫EXCEL檔案常用方法大全PythonExcel
- python讀取和生成excel檔案PythonExcel
- Java讀取以.xlsx結尾的excel檔案,並寫出每張表對應的c#類、java類、儲存資料的xml檔案、讀取xml檔案的工具類JavaExcelC#XML
- csv檔案的寫入和讀取
- WinForm讀取Excel檔案ORMExcel
- 前端讀取excel檔案前端Excel
- Java使用xlsx-streamer和EasyExcel解決讀取超大excel檔案資料處理方法JavaExcel
- Python讀取Excel表格PythonExcel
- apache---poi讀取和建立excel檔案ApacheExcel
- IO流-檔案的寫入和讀取
- python讀寫excel檔案PythonExcel
- C#讀取文字檔案和寫文字檔案C#
- Pandas 基礎 (4) - 讀 / 寫 Excel 和 CSV 檔案Excel
- Java 用FileReader 和 FileWriter 進行檔案讀寫(txt) (Java
- 讀取本地Excel檔案生成echartsExcelEcharts
- python檔案建立、讀取和寫入Python
- 如何讀取和寫入JSON檔案JSON
- Python之檔案讀取和寫入Python
- 【MATLAB】讀取和寫入文字檔案Matlab
- python讀寫Excel表格程式碼PythonExcel
- Maatwebsite\Excel 讀取帶公式的excel檔案得到值呢?WebExcel公式
- php讀取excel檔案資料的匯入和匯出PHPExcel
- 【GO】Elasticsearch的簡單寫入和讀取示例GoElasticsearch
- C++檔案操作實戰:建立、寫入、讀取、修改檔案一應俱全C++
- operties檔案的讀取、新增、修改、清空、另存
- C++中對檔案進行讀寫操作C++
- 讀取載密Excel表格中壓縮原始檔資料區Excel
- 08 常用:寫入 讀取檔案格式為:alex|123
- 讀取檔案流並寫入檔案流
- nodejs 讀取excel檔案,並去重NodeJSExcel
- 使用openpyxl庫讀取Excel檔案資料Excel
- VTK:讀取raw檔案進行面繪製