从输出内容看出,得到的是一个嵌套list,每行数据对应着一个list元素。# 读取excel文件,按列读取数据,每列数据对应一个列表元素
View Code
#>>> [['序号', 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 19.0,
20.0, 21.0, 22.0, 23.0, 24.0, '', ''], ['时间格式定义', '%a Locale’s abbreviated weekday name. ', ……
从上面的输出结果看,按照excel文件的列读取数据,生成嵌套list,每一列对应一个list元素
#写入excel文件,新建sheet用于保存数据
View Code
以上的程序,实际的关键点在于sheet.write函数的参数处理,第一个参数是行,第二个参数是列,第三个参数是写入的数据。其他的语句都是针对数据的具体化处理。
2.openpyxl模块,既可以读、也可以写import openpyxl
from openpyxl import load_workbook
# 1.载入已存在的Excel
filename = r'C:\2020\python-exer\excel_doc\test.xlsx'
wb = load_workbook(filename)# 注意load_workbook只能打开已经存在的Excel,不能创建新的工作簿# 2.根据名称获取工作表
# Workbook对象属性(工作簿操作)
# sheetnames:获取工作簿中的表(列表)
# active:获取当前活跃的Worksheet
# worksheets:以列表的形式返回所有的Worksheet(表格)
# read_only:判断是否以read_only模式打开Excel文档
# encoding:获取文档的字符集编码
# properties:获取文档的元数据,如标题,创建者,创建日期等
View Code
#>>>
序号,时间格式定义,
1,%a Locale’s abbreviated weekday name. ,
2,%A Locale’s full weekday name. ,
3,%b Locale’s abbreviated month name. ,
4,%B Locale’s full month name. ,……
通过以上输出,按照excel的每行输出内容。
#5openpyxl写入excel
View Code
小结:通过对xlrd、xlswriter及openpyxl的应用案例,本质上都是把excel当做一个数据文件进行读写。只不过openpyxl既能读又能写罢了。而pandas是把excel当做
数据块或者说是矩阵来处理。如同处理csv一样,读入的数据认为是dataframe,可以有更多的数据分析功能。
3.pandas对excel文件的处理,可以同时写入多个sheet数据。
View Code
下面比较一下读写excel文件和csv文件的异同:
View Code
小结:对于pandas来说,有了DataFrame,写入Excel和写入CSV可以根据需求可以同时进行,只是对应pandas模块不同的读写函数而已。
总结上述,对于python来说,处理excel文件有很多的方法,但感觉pandas方法是更方便的,更接近数据处理,有更丰富的处理技巧。而其他模块都是取出excel的行或者列数据,
再依照python的语言功能对这些数据进行进一步处理。