1、可以使用的第三方库python
python中处理excel表格,经常使用的库有xlrd(读excel)表、xlwt(写excel)表、openpyxl(可读写excel表) 等。xlrd读数据较大的excel表时效率高于openpyxl,因此我在写脚本时就采用了xlrd和xlwt这两个库。介绍及下载地址为:http://www.python-excel.org/ 这些库文件都没有提供修改现有excel表格内容的功能。通常只能将原excel中的内容读出、作完处理后,再写入一个新的excel文件。windows
2、常见问题函数
使用python处理excel表格时,发现两个个比较难缠的问题:unicode编码和excel中记录的时间。编码
由于python的默认字符编码都为unicode,因此打印从excel中读出的中文或读取中文名的excel表或sheet时,程序提示错误 UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-2: ordinal not in range(128)。这是因为在windows中,中文使用了gb2312编码方式,python将其看成unicode和ascii来解码都不正确才 报出的错误。使用VAR.encode('gb2312')便可解决打印中文的问题。(很奇怪,有的时候虽然能打印出结果,但显示的不是中文,而是一堆编 码。)若要从中文文件名的excel表中读取数据,可在文件名前加‘u’表示将该中文文件名采用unicode编码。spa
有excel中,时间和日期都使用浮点数表示。可看到,当‘2013年3月20日’所在单元格使用‘常规’格式表示后,内容变为‘41353’;当 其单元格格式改变为日期后,内容又变为了‘2013年3月20日’。而使用xlrd读出excel中的日期和时间后,获得是的一个浮点数。因此当向 excel中写入的日期和时间为一个浮点数也没关系,只需将表格的表示方式改成日期和时间,便可获得正常的表示方式。excel中,用浮点数1表示 1899年12月31日。excel
3、经常使用函数code
如下主要介绍xlrd、xlwt、datetime中与日期相关的函数。ci
|