视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
Python之Excel操作
2020-11-27 14:24:00 责编:小采
文档


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的单元格位置。)

9. 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)

下载本文
显示全文
专题