最近项目内容需要,要读取一些log文件 转化为excel。学习了一下python写excel的方法。
python读写excel常见有三种方法:
(1)xlwt / xlrd:用于较老excel文件 如xls格式 的 读写支持,有格式和size限制;
(2)openpyxl:用于读写xlsx等新格式excel文件; (可以支持按行写,xlwt 只能每个数据写一次)
(3)pandas:一个全面数据分析库,支持excel读写功能;
当前主要使用最基础的xlwt来读取log写入excel
xlwt下载导入安装(tar包方式)
由于我的环境权限受限,使用下载包的方式本地安装;
1、通过官网下载 tar包:https://pypi.org/project/xlwt/#files
2、root@ubuntu:~/study# tar -zxvf xlwt-1.3.0.tar.gz // 解压压缩包
3、root@ubuntu:~/study/xlwt-1.3.0# python setup.py instal // 进入解压后目录 执行安装命令
备注:如果你没安装setuptools,会报错ImportError: No module named setuptools, 还需要按以下方法先安装工具;
wget --no-check-certificate https://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c11.tar.gz
tar -zxvf setuptools-0.6c11.tar.gz
cd setuptools-0.6c11
python setup.py build
python setup.py install
xlwt 写excel举例
1、test.py 文件内容如下:
import xlwt
print ("start to transfer...")
colunms = []
datas = []
with open("./log.txt") as fin:
for line in fin:
datas.append(line.split("\t")) #分隔符使用tab
workbook = xlwt.Workbook(encoding='utf-8')
sheet = workbook.add_sheet("test_sheet")
for row, data in enumerate(datas):
for col, column_data in enumerate(data):
sheet.write(row, col, column_data)
2、log.txt 内容如下
fdasfja dfefg erwert
1243 3425 3425
安静 学 两小时
3、执行命令:root@ubuntu:~/study/excel# python ./test.py
4、查看生成的excel文件