首页 >后端开发 >Python教程 >Python之Excel操作

Python之Excel操作

巴扎黑
巴扎黑原创
2017-06-23 15:54:141876浏览

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)

 

以上是Python之Excel操作的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn