首頁  >  文章  >  後端開發  >  Python之Excel操作

Python之Excel操作

巴扎黑
巴扎黑原創
2017-06-23 15:54:141849瀏覽

Python的Excel操作需要另外下載安裝對應Python版本的xlrd和xlwt包,用於對Excel的讀取和寫入。

安裝方法:直接解壓縮後,在字元指令介面cd到setup.py的目錄,執行指令「Python setup.py install」即可。

xlrd(下面有些是方法,有些是屬性,屬性後面不加括號)

1. excel = xlrd.open_workbook(excel_path):開啟指定路徑的Excel文件,得到對應Excel的Excel物件(整個Excel文件的物件)。

2. excel_lst = excel.sheets:以列表的形式傳回Excel物件中的sheet(Excel中單一sheet物件)。

3. excel_sheet = excel.sheet_by_name(sheet_name):根據sheet的名字取得sheet物件。

4. excel_sheet = excel.sheet_by_index(sheet_index):根據sheet的索引(依照Excel中的sheet順序以0開始)取得sheet物件。

5. excel_sheet.nrows:sheet中的有效行數。

6. excel_sheet.ncols:sheet中的有效列數。

7. excel_sheet.name:sheet的名稱。

8. excel_sheet.cell(row, col).value:取得指定儲存格的值。

9. excel_sheet.row_values(row):以清單的形式傳回指定行的資料。

10. excel_sheet.col_values(col):以清單的形式傳回指定列的資料。

11. excel_sheet.put_cell(row, col, type, value, xf):對單元格進行簡單的寫入(type為數字:0 empty, 1 string, 2 number, 3 date, 4 boolean , 5 error;xf=0:拓展的格式化)(本方法沒有試驗過,讀者可用時自行試驗)。

 

xlwt

1. excel = xlwt.Workbook(encoding='ascii'):新建一個Excel物件。

2. sheet = excel.add_sheet(sheet_name):新建一個sheet頁。

3. sheet.write(row, col, value, format):在儲存格中寫入資料。

4. sheet.write_merge(start_row, start_col, end_row, end_col, value, format):合併儲存格並寫入資料。

5. sheet.col(col).width:設定列寬。

6. sheet.row(row).height:設定行高。

7. excel.save('path/excel_name.xls'):儲存excel(只能以xls的格式)。

8. xlwt.Formula('HYPERLINK("#%s!%s%s";"%s")' % (sheet_name, col, row, value)):設定Excel內的超鏈接。

  (這部分整體作為value傳入write等寫入方法中,其中的第一個雙引號為Excel中的公式表示,不能用單引號或三引號;value為寫入單元格的值,sheet_name為連結的目的位址,col(1,2,3...)和row(A,B,C...)表示連接到sheet_name的儲存格位置。 xlwt.Formula('HYPERLINK("https://www.baidu.com";"百度")'):設定Excel外的連結。

10. 使用Excel公式作為儲存格的值(與超連結的設定相同,使用的是Excel本身的公式):

  sheet.write(1, 0, xlwt.Formula ('A1*B1'))

  sheet.write(2, 0, xlwt.Formula('SUM(A1, B1)'))

11. 設定單元格字體:

1 cell_font = xlwt.Font() # 字体对象2 cell_font.name = 'Times New Roman' # 设置字体3 cell_font.bold = True # 粗体4 cell_font.underline = True # 下划线5 cell_font.italic = True # 斜体6 cell_style = xlwt.XFStyle() # 格式对象7 cell_style.font = cell_font # 将字体样式赋给格式对象中的字体8 sheet.write(1, 0, value, cell_style) # 在单元格写入等方法中将格式参数传进去
12. 設定單元格邊框:

1 cell_borders = xlwt.Borders() # 边框对象2 cell_borders.left = xlwt.Borders.DASHED # 设置左边框(常用值:NO_LINE(无边框), THIN(薄), MEDIUM(中), THICK(厚),DASHED(虚线), DOTTED(点虚线))3 cell_borders.right = xlwt.Borders.DASHED4 cell_borders.top = xlwt.Borders.DASHED5 cell_borders.bottom = xlwt.Borders.DASHED6 cell_style = xlwt.XFStyle() # 格式对象7 cell_style.borders = cell_borders # 将边框样式赋给格式对象8 sheet.write(0, 0, value, cell_style)
13. 設定單元格背景色:

1 cell_pattern = xlwt.Pattern() 
2 cell_pattern.pattern = xlwt.Pattern.SOLID_PATTERN # May be: NO_PATTERN, SOLID_PATTERN, or 0x00 through 0x123 cell_pattern.pattern_fore_colour = 5 # 颜色(不止这些):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 , 20 = Dark Magenta, 21 = Teal, 22 = Light Gray, 23 = Dark Gray4 cell_style = xlwt.XFStyle() 
5 cell_style.pattern = cell_pattern 
6 sheet.write(0, 0, value, cell_style)
 

以上是Python之Excel操作的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn