Python 用于打开带有图表的现有 .xlsx 工作簿的库

Python library to open existing .xlsx workbook with charts

我必须读取某个.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 版中引入的一项功能(参见 here and )。所以你可以尝试安装使用openpyxl.

的2.5开发版

Panda 或许可以读写 Excel。它使用 xlrd 读取 excel 个文件并使用 xlswriter 将其写出。所以它似乎可以使用 xlrd 将 Excel 文件加载到内存中并将其传递给 xlsxwriter 以保存文件。

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