Python库以图表方式打开现有的.xlsx工作簿

我必须读取某个.xlsx文件(file1.xlsx),从另一个.csv文件(file2.csv)中提取数据,并将处理后的数据与一些图表一起写入原始文件(file1.xlsx)。 该文件有现有的图表,我看了openpyxl,xlswriter,xlsread和其他python库。

看来openpyxl是唯一一个允许你用同一个库读写文件的库。 其他像xlswriter只写,或xlsread只读。

然而,即使是openpyxl也是有限的,因为如果我读取一个已经有图表的文件,图表就会丢失。

唯一的办法,我可以想到从python做这个,只是使用openpyxl和pywin32的组合。 1.从file2.csv中提取数据,处理数据并打印输出到另一个.xlsx文件(或保存在内存中)2.使用pywin32将数据从内存或file3.xlsx中复制到file1.xlsx中。

之前,我深入pywin32,我想检查这是否是一个可行的策略。 我在linux环境下工作,所以在进行数据处理的时候,最好还是留在这个环境中,但是我不知道是否有另一种办法。

有没有人读过excel工作簿和图表,并用openpyxl或其他库(不放置图表)将数据写入同一个excel工作簿?

图表的保存是在openpyxl 2.5版本中引入的function(请参见此处和此处 )。 所以你可以尝试安装和使用2.5开发版本的openpyxl

pandas也许能够读写Excel。 它使用xlrd读取excel文件和xlswriter写出来。 所以它似乎可以将Excel文件usign xlrd加载到内存中,并将其传递给xlsxwriter以保存文件。

https://pandas.pydata.org/pandas-docs/stable/io.html#io-excel-writer