Python openpyxl wb.save()引发类型错误

2024-05-16 14:59:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个.xlsx,我正试图编辑它,然后另存为不同的文件名。我调用wb.save("TestReport.xlsx"),但是我得到一个类型错误。有趣的是,Python确实使用我指定的文件名保存了一个.xlsx文档,但是Excel无法打开它

File in Downloads Folder

Excel error

这是我的密码:

def formatReport():

    os.chdir("C:\\Users\\awentz\\Downloads")

    files = sorted(os.listdir(os.getcwd()), key=os.path.getmtime)
    report = files[-1]
    logging.debug(str(report))

    wb = openpyxl.load_workbook(report)
    ws = wb.active


    ws.delete_cols(1, 1)

    for row in ws.iter_rows(min_row=2, max_row=len(ws["A"]), min_col=4, max_col=4):
        for cell in row:
            if cell.value != "":
                cell.value = float(cell.value) / 1440
                cell.number_format = 20


    wb.save("TestReport.xlsx")
    wb.close()

以下是错误:

Exception has occurred: TypeError
expected <class 'str'>
  File "C:\Users\awentz\Desktop\Python Workspace\PullDailyUsageReport.py", line 90, in formatReport
    wb.save("TestReport.xlsx")
  File "C:\Users\awentz\Desktop\Python Workspace\PullDailyUsageReport.py", line 102, in <module>
    formatReport()

Tags: inreportwsvalueossavecellxlsx