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) # 在单元格写入等方法中将格式参数传进去
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)
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中文網其他相關文章!