成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

萬字長文記錄Python讀寫EXCEL文件常用方法大全

開發 前端
python讀寫excel的方式有很多,不同的模塊在讀寫的講法上稍有區別,這里我主要介紹幾個常用的方式。

[[359430]]

 python讀寫excel的方式有很多,不同的模塊在讀寫的講法上稍有區別,這里我主要介紹幾個常用的方式。

  • 用xlrd和xlwt進行excel讀寫;
  • 用openpyxl進行excel讀寫;
  • 用pandas進行excel讀寫;

參考:

https://www.python-excel.org/

https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_excel.html#pandas.read_excel

https://www.jianshu.com/p/19219542bf23

2|0數據準備

為了方便演示,我這里新建了一個data.xls和data.xlsx文件,第一個工作表sheet1區域“A1:E5”的內容如下,用于測試讀寫excel的代碼:

萬字長文記錄Python讀寫EXCEL文件常用方法大全

3|0xlrd和xlwt

xlrd是一個庫,用于從Excel文件中以.xls格式讀取數據和格式化信息

xlwt是一個庫,用于將數據和格式化信息寫入較舊的Excel文件(例如:.xls)。

3|1示例

  1. pip install xlrd 
  2. pip install xlwt 

  

我們開始來讀取文件的內容

  1. import xlrd 
  2. import os 
  3.  
  4. file_path = os.path.dirname(os.path.abspath(__file__)) 
  5. base_path = os.path.join(file_path, 'data.xlsx'
  6. book = xlrd.open_workbook(base_path) 
  7. sheet1 = book.sheets()[0] 
  8. nrows = sheet1.nrows 
  9. print('表格總行數', nrows) 
  10. ncols = sheet1.ncols 
  11. print('表格總列數', ncols) 
  12. row3_values = sheet1.row_values(2) 
  13. print('第3行值', row3_values) 
  14. col3_values = sheet1.col_values(2) 
  15. print('第3列值', col3_values) 
  16. cell_3_3 = sheet1.cell(2, 2).value 
  17. print('第3行第3列的單元格的值:', cell_3_3) 

  萬字長文記錄Python讀寫EXCEL文件常用方法大全

接下來我們來進行寫入,寫入可以進行的操作太多了,我這里只列舉了常用的的操作。

  1. import xlwt 
  2. import datetime 
  3. # 創建一個workbook 設置編碼 
  4. workbook = xlwt.Workbook(encoding='utf-8'
  5. # 創建一個worksheet 
  6. worksheet = workbook.add_sheet('Worksheet'
  7. # 寫入excel參數對應 行, 列, 值 
  8. worksheet.write(0, 0, label='測試'
  9. # 設置單元格寬度 
  10. worksheet.col(0).width = 3333 
  11.  
  12. # 設置單元格高度 
  13. tall_style = xlwt.easyxf('font:height 520;'
  14. worksheet.row(0).set_style(tall_style) 
  15.  
  16. # 設置對齊方式 
  17. alignment = xlwt.Alignment()  # Create Alignment 
  18. # May be: HORZ_GENERAL, HORZ_LEFT, HORZ_CENTER, HORZ_RIGHT, HORZ_FILLED, HORZ_JUSTIFIED, HORZ_CENTER_ACROSS_SEL, HORZ_DISTRIBUTED 
  19. alignment.horz = xlwt.Alignment.HORZ_CENTER 
  20. # May be: VERT_TOP, VERT_CENTER, VERT_BOTTOM, VERT_JUSTIFIED, VERT_DISTRIBUTED 
  21. alignment.vert = xlwt.Alignment.VERT_CENTER 
  22. style = xlwt.XFStyle()  # Create Style 
  23. style.alignment = alignment  # Add Alignment to Style 
  24. worksheet.write(2, 0, '居中', style) 
  25.  
  26. # 寫入帶顏色背景的數據 
  27. pattern = xlwt.Pattern()  # Create the Pattern 
  28. # May be: NO_PATTERN, SOLID_PATTERN, or 0x00 through 0x12 
  29. pattern.pattern = xlwt.Pattern.SOLID_PATTERN 
  30. pattern.pattern_fore_colour = 5  # May be: 8 through 63. 0 = Black, 1 = White, 2 = Red, 3 = Green, 4 = Blue, 5 = Yellow, 6 = Magenta, 7 = Cyan, 16 = Maroon, 17 = Dark Green, 18 = Dark Blue, 19 = Dark Yellow , almost brown), 20 = Dark Magenta, 21 = Teal, 22 = Light Gray, 23 = Dark Gray, the list goes on... 
  31. style = xlwt.XFStyle()  # Create the Pattern 
  32. style.pattern = pattern  # Add Pattern to Style 
  33. worksheet.write(0, 1, '顏色', style) 
  34.  
  35. # 寫入日期 
  36. style = xlwt.XFStyle() 
  37. # Other options: D-MMM-YY, D-MMM, MMM-YY, h:mm, h:mm:ss, h:mm, h:mm:ss, M/D/YY h:mm, mm:ss, [h]:mm:ss, mm:ss.0 
  38. style.num_format_str = 'M/D/YY' 
  39. worksheet.write(0, 2, datetime.datetime.now(), style) 
  40.  
  41. # 寫入公式 
  42. worksheet.write(0, 3, 5)  # Outputs 5 
  43. worksheet.write(0, 4, 2)  # Outputs 2 
  44. # Should output "10" (A1[5] * A2[2]) 
  45. worksheet.write(1, 3, xlwt.Formula('D1*E1')) 
  46. # Should output "7" (A1[5] + A2[2]) 
  47. worksheet.write(1, 4, xlwt.Formula('SUM(D1,E1)')) 
  48.  
  49. # 寫入超鏈接 
  50. worksheet.write(1, 0, xlwt.Formula('HYPERLINK("http://www.baidu.com";"百度一下")')) 
  51. # 保存 
  52. workbook.save('Excel_test.xls'

 需要注意的是最好在當前路徑下通過命令行執行,否則無法生成文件。

萬字長文記錄Python讀寫EXCEL文件常用方法大全
萬字長文記錄Python讀寫EXCEL文件常用方法大全

4|0openpyxl

openpyxl是一個Python庫,用于讀取/寫入Excel 2010 xlsx/xlsm/xltx/xltm文件。

安裝包

  1. pip install openpyx 

安裝完成可以開始進行讀取數據

  1. import openpyxl 
  2. import os 
  3. file_path = os.path.dirname(os.path.abspath(__file__)) 
  4. base_path = os.path.join(file_path, 'data.xlsx'
  5. workbook = openpyxl.load_workbook(base_path) 
  6. worksheet = workbook.get_sheet_by_name('Sheet1'
  7. row3=[item.value for item in list(worksheet.rows)[2]] 
  8. print('第3行值',row3) 
  9. col3=[item.value for item in list(worksheet.columns)[2]] 
  10. print('第3行值',col3) 
  11. cell_2_3=worksheet.cell(row=2,column=3).value 
  12. print('第2行第3列值',cell_2_3) 
  13. max_row=worksheet.max_row 
  14. print('最大行',max_row) 

  萬字長文記錄Python讀寫EXCEL文件常用方法大全

現在我們來開始寫入數據

  1. import zipfile   
  2. # 創建文件句柄   
  3. file = zipfile.ZipFile("測試.zip"'r')   
  4. # 提取壓縮文件中的內容,注意密碼必須是bytes格式,path表示提取到哪   
  5. file.extractall(path='.', pwd='123'.encode('utf-8'))  

  萬字長文記錄Python讀寫EXCEL文件常用方法大全

萬字長文記錄Python讀寫EXCEL文件常用方法大全

5|0pandas

pandas支持xls, xlsx, xlsm, xlsb, odf, ods和odt文件擴展名從本地文件系統或URL讀取。支持讀取單個工作表或工作表列表的選項。

首先依然是安裝包

  1. pip install pandas 

語法:

  1. pd.read_excel(io, sheet_name=0, header=0, names=None, index_col=None, usecols=None, squeeze=False,dtype=None, engine=None, converters=None, true_values=None, false_values=None, skiprows=None, nrows=None, na_values=None, parse_dates=False, date_parser=None, thousands=None, comment=None, skipfooter=0, convert_float=True, **kwds) 
  • io,Excel的存儲路徑
  • sheet_name,要讀取的工作表名稱
  • header, 用哪一行作列名
  • names, 自定義最終的列名
  • index_col, 用作索引的列
  • usecols,需要讀取哪些列
  • squeeze,當數據僅包含一列
  • converters ,強制規定列數據類型
  • skiprows,跳過特定行
  • nrows ,需要讀取的行數
  • skipfooter , 跳過末尾n行
  1. import pandas as pd  
  2. import os 
  3.  
  4. file_path = os.path.dirname(os.path.abspath(__file__)) 
  5. base_path = os.path.join(file_path, 'data.xlsx'
  6. df = pd.read_excel(base_path) 
  7. print(df) 

  萬字長文記錄Python讀寫EXCEL文件常用方法大全

寫入數據

語法:

  1. DataFrame.to_excel(excel_writer, sheet_name='Sheet1', na_rep='', float_format=None, columns=None, header=Trueindex=True, index_label=None, startrow=0, startcol=0, engine=None, merge_cells=True, encoding=None, inf_rep='inf', verbose=True, freeze_panes=None) 

參數說明:

  • excel_writer:文件路徑或現有的ExcelWriter
  • sheet_name:將包含數據文件的工作表的名稱
  • na_rep:缺失的數據表示
  • float_format:格式化浮點數的字符串。例如float_format = " %。2f"格式為0.1234到0.12。
  • columns:列
  • header:寫出列名。如果給定一個字符串列表,則假定它是列名的別名。
  • index:寫入行名稱(索引)
  • index_label:如果需要,索引列的列標簽。如果未指定,并且標頭和索引為真,則使用索引名。如果DataFrame使用多索引,應該給出一個序列。
  • startrow:左上角的單元格行轉儲數據幀。
  • startcol:左上角單元格列轉儲數據幀。
  • engine:編寫要使用的引擎“ openpyxl”或“ xlsxwriter”。 您還可以通過選項io.excel.xlsx.writer,io.excel.xls.writer和io.excel.xlsm.writer進行設置。
  • merge_cells:將多索引和層次結構行寫入合并單元格。
  • encoding:對生成的excel文件進行編碼。僅對xlwt有必要,其他編寫器本身支持unicode。
  • inf_rep:表示無窮大。
  • verbose:在錯誤日志中顯示更多信息。
  • freeze_panes:指定要凍結的最底部的行和最右邊的列
  1. from pandas import DataFrame 
  2.  
  3. data = {'name': ['張三''李四''王五'],'age': [11, 12, 13],'sex': ['男''女''男']} 
  4.  
  5. df = DataFrame(data) 
  6.  
  7. df.to_excel('file.xlsx'

 萬字長文記錄Python讀寫EXCEL文件常用方法大全

萬字長文記錄Python讀寫EXCEL文件常用方法大全

 

責任編輯:姜華 來源: 今日頭條
相關推薦

2022-09-06 08:02:40

死鎖順序鎖輪詢鎖

2021-10-18 11:58:56

負載均衡虛擬機

2022-09-14 09:01:55

shell可視化

2021-01-19 05:49:44

DNS協議

2020-07-09 07:54:35

ThreadPoolE線程池

2024-03-07 18:11:39

Golang采集鏈接

2022-10-10 08:35:17

kafka工作機制消息發送

2022-07-19 16:03:14

KubernetesLinux

2020-07-15 08:57:40

HTTPSTCP協議

2020-11-16 10:47:14

FreeRTOS應用嵌入式

2024-01-11 09:53:31

面試C++

2021-08-26 05:02:50

分布式設計

2022-09-08 10:14:29

人臉識別算法

2022-07-15 16:31:49

Postman測試

2024-01-05 08:30:26

自動駕駛算法

2024-05-10 12:59:58

PyTorch人工智能

2023-06-12 08:49:12

RocketMQ消費邏輯

2022-03-28 10:56:11

Python字符串格式化

2023-10-19 13:47:58

2023-02-16 18:22:44

ChatGPTWolfram語言
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 女人一区 | 刘亦菲国产毛片bd | 精品国产高清一区二区三区 | 国产在线高清 | 成人h动漫精品一区二区器材 | 日韩精品一区中文字幕 | 天天干天天操天天看 | 91影片 | 手机看片在线播放 | 91在线观看视频 | 久久久久久久久久久福利观看 | 欧美黄色大片在线观看 | 欧美综合一区二区三区 | 国产精品夜夜夜一区二区三区尤 | 人人九九精 | 久久一二 | 色网站在线免费观看 | 成人午夜电影在线观看 | 亚洲精品视频在线播放 | 亚洲精品免费在线观看 | 国产精品视频一区二区三区 | 久久精品久久精品 | 久久国产精品精品 | 99在线免费观看 | 国产福利视频导航 | 亚洲精品久久视频 | 亚洲国产精品美女 | 色男人天堂av | 欧美激情五月 | 天天干天天玩天天操 | 欧美激情一区二区 | 中文字幕在线精品 | 免费精品 | 一二三四在线视频观看社区 | 国产亚洲精品精品国产亚洲综合 | 精品国产乱码一区二区三区a | 精品久久久久久久久久久 | 91高清在线观看 | 中文字幕精品一区 | 欧美不卡一区二区三区 | 97色在线视频 |