我必须读取某个.xlsx文件(file1.xlsx),从另一个.csv文件(file2.csv)中提取数据,并将处理后的数据与一些图表一起写入原始文件(file1.xlsx)。该文件有现有的图表,我查看了openpyxl,xlswriter,xlsread和其他python库。
似乎openpyxl是唯一允许您使用相同库读取和写入文件的库。其他像xlswriter只写,或xlsread只读。
然而,即使openpyxl也是有限的,因为如果我读取已经有图表的文件,图表就会丢失。
我能想到的唯一方法就是使用openpyxl和pywin32的组合。 1.从file2.csv中提取数据,处理数据和打印输出到另一个.xlsx文件(或保存在内存中) 2.使用pywin32将数据从内存或从file3.xlsx复制到file1.xlsx。
之前,我深入了解pywin32,我想检查这是否是一个可行的策略。我在Linux环境中工作,所以在进行数据处理时更愿意留在这个环境中,但我不知道是否还有另一种出路。
是否有人使用openpyxl或其他库(没有丢失图表)阅读带有图表和书面数据的excel工作簿到同一个excel工作簿?
答案 0 :(得分:3)
答案 1 :(得分:0)
Panda可能能够读写Excel。它使用xlrd读取excel文件,使用xlswriter将其写出来。因此,它似乎可以将Excel文件加载到内存中并将其传递给xlsxwriter,以保存文件。
https://pandas.pydata.org/pandas-docs/stable/io.html#io-excel-writer