• 技术文章 >后端开发 >Python教程

    Python之Excel操作

    巴扎黑巴扎黑2017-06-23 15:54:14原创1195
    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核实处理。
    专题推荐:Python Excel 操作
    上一篇:Python爬虫:HTTP协议、Requests库 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • Python NumPy教程之数据类型对象• Python标准库中的logging用法示例• python自动化测试实例解析• 详解Python中的条件判断语句• 在Django的视图(View)外使用Session的方法
    1/1

    PHP中文网