Python 对excle文件的读写、数据处理小结
一、用xlrd可打开文件、读取数据,但是用put_cell()写数据,不能修改excel文件(补充:可修改内存中的文件)。
二、用xlwt可创建文件、创建SHEET,可写入数据,保存文件。但是不能修改已创建的文件,没有open_workbook 方法。
三、若要打开一个已有的excel文件,并对其数据做处理,然后写入文件,只能xlrd和xlwt结合使用,一个用来读,一个用来写。
四、用xlutils,有copy()方法,book_write = copy(workbook_read),可实现文件复制,不用通过循环读取、写入来实现文件数据复制。需要获取数据的,应该用xlrd 从原文件 book_read 中获取,从book_write 文件中获取不到数据,没有行、列属性。
from xlutils.copy import copy
book_wt = copy(book_rd)
book_wt_sheet = book_wt.get_sheet(0)
# rows = book_wt_sheet.nrows #通过xlutils.copy 生成的文件,得不到nrows()
# cols = book_wt_sheet.ncols #通过xlutils.copy 生成的文件,得不到ncols()
rows = book_rd_sheet.nrows #从原文件获取 行数
cols = book_rd_sheet.ncols #从原文件获取 列数
book_wt.save("save.xlsx") # xlsx 后缀名保存文件后,打开错,不支持xlsx,改为 xls 即可。
参考:
python中使用xlrd和xlrt对excel读写问题 目的:现已存在一个excel,想对该excel里面的数据进行添加或者修改。 查了下网上的资料,发现xlrd模块的table.put_cell(row, col, ctype, value, xf)具有简单“写”的功能,但是用这个函数写完之后,桌面上打开excel并没有真实修改。查了查xlrd模块也没有修改后保存函数。然后查了下xlwt模块,发现此模块只能新创建excel并对其修改,不能对已有的excel进行修改!!那位大神知道如何已存在一个excel进行修改。。。。。。。跪谢!!!!! https://ask.csdn.net/questions/169831?sort=id python处理excel表格 https://www.cnblogs.com/sunada2005/p/3193300.html Python xlrd、xlwt、xlutils修改Excel文件 https://blog.csdn.net/tianzhu123/article/details/7225809