使用 xlswriter 将日期时间添加到工作表时抛出 Python 异常

问题描述 投票:0回答:1

我有以下抛出异常的 Python 代码,我很难理解我做错了什么:

    import xlsxwriter
    import datetime


    date = datetime.date.today()
    workbook = xlsxwriter.Workbook('datetime.xlsx')
    date_format = workbook.add_format({'num_format': 'dd mm yyyy'})
    worksheet = workbook.add_worksheet()
    worksheet.write_datetime(0, 0, date, date_format)
    workbook.close()

异常发生在

workbook.close()
,是
TypeError: must be real number, not datetime.date
。堆栈跟踪如下:

Traceback (most recent call last):
  File "scratch_4.py", line 10, in <module>
    workbook.close()
  File ".venv\Lib\site-packages\xlsxwriter\workbook.py", line 351, in close
    self._store_workbook()
  File ".venv\Lib\site-packages\xlsxwriter\workbook.py", line 746, in _store_workbook
    xml_files = packager._create_package()
                ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File ".venv\Lib\site-packages\xlsxwriter\packager.py", line 137, in _create_package
    self._write_worksheet_files()
  File ".venv\Lib\site-packages\xlsxwriter\packager.py", line 196, in _write_worksheet_files
    worksheet._assemble_xml_file()
  File ".venv\Lib\site-packages\xlsxwriter\worksheet.py", line 4645, in _assemble_xml_file
    self._write_sheet_data()
  File ".venv\Lib\site-packages\xlsxwriter\worksheet.py", line 6389, in _write_sheet_data
    self._write_rows()
  File ".venv\Lib\site-packages\xlsxwriter\worksheet.py", line 6589, in _write_rows
    self._write_cell(row_num, col_num, col_ref)
  File ".venv\Lib\site-packages\xlsxwriter\worksheet.py", line 6765, in _write_cell
    self._xml_number_element(cell.number, attributes)
  File ".venv\Lib\site-packages\xlsxwriter\xmlwriter.py", line 134, in _xml_number_element
    self.fh.write("""<c%s><v>%.16G</v></c>""" % (attr, number))
                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
TypeError: must be real number, not datetime.date

我尝试了多种不同的方法,但都失败并出现相同的异常。

python excel xlsxwriter
1个回答
0
投票

事实证明,我运行代码的虚拟环境已损坏。

© www.soinside.com 2019 - 2024. All rights reserved.