Python

2018-05-07  本文已影响83人  你身边的那个TA

常用接口

Python之Excel文件操作

python对Excel文件的操作需要借助xlrd、xlwt、xlutils,这三个包非自带,需要另行安装。

python setup.py install
pip install xxx.whl
import xlwt

def xlwt_test():
    # 创建一个Workbook对象,这就相当于创建了一个Excel文件
    # encoding:设置字符编码,默认是ascii。
    # style_compression:表示是否压缩,不常用。
    book = xlwt.Workbook(encoding='utf-8', style_compression=0)

    # 创建一个sheet对象,一个sheet对象对应Excel文件中的一张表格。
    # 其中的test是这张表的名字,cell_overwrite_ok,表示是否可以覆盖单元格,默认值是False
    sheet = book.add_sheet('test', cell_overwrite_ok=True)

    # 向表test中添加数据
    # 其中的'0-行, 0-列'指定表中的单元,'EnglishName'是向该单元写入的内容
    sheet.write(0, 0, 'EnglishName')
    sheet.write(1, 0, 'Marcovaldo')

    # 最后,将以上操作保存到指定的Excel文件中
    # 在字符串前加r,声明为raw字符串,这样就不会处理其中的转义了。否则,可能会报错
    book.save('test1.xls')
    pass
import xlrd

def xlrd_test():
    xlsfile = r"20180102(W1).xlsx"# 打开指定路径中的xls文件
    book = xlrd.open_workbook(xlsfile)#得到Excel文件的book对象,实例化对象
    sheet_names = book.sheet_names()
    for sheet_name in sheet_names:
        sheet = book.sheet_by_name(sheet_name)
        print(sheet.name,sheet.nrows,sheet.ncols)
    pass
import xlrd
from xlutils.copy import copy

def xlutils_copy_test():
    xlsfile = r"20180102(W1).xlsx"
    rd_book = xlrd.open_workbook(xlsfile, formatting_info=True) #formatting_info 保留格式
    wt_book = copy(rd_book)
    wt_sheet = wt_book.get_sheet(0)
    wt_sheet.write(0, 0, 'name')
    wt_sheet.write(0, 1, 'age')
    wt_book.save(xlsfile)
    pass
源码:
    with open(log_file, 'rb') as f:
        data = f.readlines()
        i = 0
        for line in data[::1]:
            if ': error: ' in line:
                ……
运行报错:
    if ': error: ' in line:
TypeError: 'str' does not support the buffer interface

网上查找,都描述是编码问题(utf-8),这里将line改为 str(line) 即可。

上一篇 下一篇

猜你喜欢

热点阅读