用python操作excel需要用到xlrd,xlwt,xlutils三个库,前面两个是import的,第三个是from xlutils.copy import copy。
因为是初学,我直接安装了python网站上最新的3.6.3版本,很多查到的论坛资源都不能用了,例如网络访问中用到的urllib2库,应该引用为urllib.request,另外xlrd.open_workbook(path,formatting_info
=
True
)
)的第二个参数也不能使用。
在xlrd库里有一个函数是table.put_cell(row, col, ctype, value, xf),在实际使用中,内存中可以更改数据,但是无法保存到硬盘上。所以xlrd库真的只能读excel,要写入的话,还是要用xlwt和xlutils结合。xlwt一般用于新建一个xls文件(不支持xlsx格式),xlutils是获取一个xlrd读取的副本,作为xlwt新建文件的源文件,进行写入,然后保存为另一个新文件,以达到“处理已有数据”的目的。
感觉用python处理网页数据比较专业(目前我还做的不多),但是用来处理excel数据,稍显单薄,可能我还是要看看excel的vba编程。
常用代码如下:
import xlrd
import xlwt
from xlutils.copy import copy
dataOri = xlrd.open_workbook(path0)
tableOri = dataOri.sheet_by_name(sheetName)
dataNew = xlrd.open_workbook(path1)
wb = copy(dataNew)
table = wb.get_sheet(0)
nrows = tableOri.nrows
newIndex = tableOri.cell(0,0).value
table.write(0, 1, newIndex)
wb.save(newpath)