使用Python覆盖XLSX文件中的现有单元格

我正在试图find一个库来覆盖现有的单元格,使用Python来改变它的内容。

我想做的事:

  1. 从.xlsx文件读取
  2. 比较单元格数据确定是否需要更改。
  3. 改变单元格中的数据 覆盖在单元格'O2'中的date
  4. 保存存档。

我试过以下库:

    • xlsxwriter
  1. 的组合:
    • xlrd
    • xlwt
    • xlutils
    • openpyxl

xlsxwriter只写入一个新的excel表单和文件。 组合:可以从.xlsx读取,但只写入.xls openpyxl:从现有文件读取但不写入现有单元只能创build新行和单元,或者可以创build整个新的工作簿

任何build议将不胜感激。 其他图书馆? 如何操作上面的库来覆盖现有文件中的数据?

from win32com.client import Dispatch import os xl = Dispatch("Excel.Application") xl.Visible = True # otherwise excel is hidden # newest excel does not accept forward slash in path wbs_path = r'C:\path\to\a\bunch\of\workbooks' for wbname in os.listdir(wbs_path): if not wbname.endswith(".xlsx"): continue wb = xl.Workbooks.Open(wbs_path + '\\' + wbname) sh = wb.Worksheets("name of sheet") sh.Range("A1").Value = "some new value" wb.Save() wb.Close() xl.Quit()