gpt4 book ai didi

python - 使用 pandas 和 openpyxl 时出现 Excel 错误 : Repaired Part:/xl/worksheets/sheet1. xml 部分出现 XML 错误。 HRESULT 0x8000ffff 第 1 行,第 0 列

转载 作者:行者123 更新时间:2023-12-04 09:15:37 25 4
gpt4 key购买 nike

我想出了一个错误,在写入后打开一个 excel 文件。这是我到目前为止所拥有的:

#locate source document
Path = Path(r'C:\Users\username\Test\EXCEL_Test.xlsx')

# open doc and go to active sheet
wb = load_workbook(filename = Path)
ws = wb.active


#add drop down list to each cell in a certain column
dv_v = DataValidation(type="list", formula1='"Y,N"', allow_blank=True)
for cell in ws['D']:
cell = ws.add_data_validation(dv_v)
wb.save(Path)
这些是打开 excel 文件时出现的两个错误:
第一个错误弹出窗口:
“我们发现 'EXCEL_Test.xlsx' 中的某些内容存在问题。您希望我们尽可能多地恢复吗?如果您信任此工作簿的来源,请单击是。”
第二个错误弹出窗口:
“修复部分:/xl/worksheets/sheet1.xml 部分存在 XML 错误。HRESULT 0x8000ffff 第 1 行,第 0 列。”
我的数据验证没有出现,并且在尝试打开文件查看 openpyxl 更改时文件出现上述错误。
也许如果有人可以帮助我找出为什么会出现这些错误? Python 以退出代码 0 结束,为什么数据验证在恢复的文件中显示为空白?

最佳答案

我认为您正在使用 ws.add_data_validation(dv)不正确。首先将数据验证分配给 dv,然后将 dv 添加到单元格中。
尝试这样做。

import openpyxl
from openpyxl import Workbook
from openpyxl.worksheet.datavalidation import DataValidation

#locate source document
Path = 'C:/Users/username/test/Excel_test.xlsx'

# open doc and go to active sheet
wb = openpyxl.load_workbook(filename = Path)
ws = wb['Sheet1']


#add drop down list to each cell in a certain column
dv = DataValidation(type="list", formula1='"Y,N"', allow_blank=True)
ws.add_data_validation(dv)

# This is the same as for the whole of column D
dv.add('D1:D1048576')

wb.save(Path)
看看这里的文档: https://openpyxl.readthedocs.io/en/stable/validation.html

关于python - 使用 pandas 和 openpyxl 时出现 Excel 错误 : Repaired Part:/xl/worksheets/sheet1. xml 部分出现 XML 错误。 HRESULT 0x8000ffff 第 1 行,第 0 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63236924/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com