python - Xlsxwriter Python3 错误

标签 python excel python-3.x

我的 python3 脚本在关闭 xlsxwriter 方面遇到了问题。我包含了 workbook.close(),但这似乎会导致某种错误。有谁知道问题出在哪里?

import xlsxwriter
import statistics

workbook = xlsxwriter.Workbook('data.xlsx')
worksheet = workbook.add_worksheet()
bold = workbook.add_format({'bold': True})

power = []

for row in list:
    power.append(row)
    worksheet.write(i, col, row)
    col += 1

worksheet.write(i, col, statistics.median(power))

workbook.close()

Traceback (most recent call last):
  File "example.py", line 71, in <module>
    workbook.close()
  File "/usr/local/lib/python3.4/dist-packages/xlsxwriter/workbook.py", line 311, in close
    self._store_workbook()
  File "/usr/local/lib/python3.4/dist-packages/xlsxwriter/workbook.py", line 619, in _store_workbook
    xml_files = packager._create_package()
  File "/usr/local/lib/python3.4/dist-packages/xlsxwriter/packager.py", line 139, in _create_package
    self._write_shared_strings_file()
  File "/usr/local/lib/python3.4/dist-packages/xlsxwriter/packager.py", line 286, in _write_shared_strings_file
    sst._assemble_xml_file()
  File "/usr/local/lib/python3.4/dist-packages/xlsxwriter/sharedstrings.py", line 54, in _assemble_xml_file
    self._write_sst_strings()
  File "/usr/local/lib/python3.4/dist-packages/xlsxwriter/sharedstrings.py", line 84, in _write_sst_strings
    self._write_si(string)
  File "/usr/local/lib/python3.4/dist-packages/xlsxwriter/sharedstrings.py", line 96, in _write_si
    string = re.sub('(_x[0-9a-fA-F]{4}_)', r'_x005F\1', string)
  File "/usr/lib/python3.4/re.py", line 179, in sub
    return _compile(pattern, flags).sub(repl, string, count)
TypeError: can't use a string pattern on a bytes-like object

最佳答案

我在示例中添加了一些变量初始化以使其能够编译并且它似乎在 Python 2 和 3 上正确运行:

import xlsxwriter
import statistics

workbook = xlsxwriter.Workbook('data.xlsx')
worksheet = workbook.add_worksheet()
bold = workbook.add_format({'bold': True})

power = []

# I added these variables to the OP program.
list = [1, 2, 3, 4, 5]
i = 0
col = 0

for row in list:
    power.append(row)
    worksheet.write(i, col, row)
    col += 1

worksheet.write(i, col, statistics.median(power))

workbook.close()

输出:

enter image description here

我想这与您的示例之间的区别在于列表数组的内容。

您能否用一个演示实际问题的示例来更新您的问题?

关于python - Xlsxwriter Python3 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45476062/

相关文章:

javascript - 相当于 Google Apps 脚本中的 "GoTo"(相当于 VBA-GAS)

python-3.x - 将字典值添加到列表中?

python - 文件操作在相对路径中不起作用

python-3.x - Jupyter 内核在 Ubuntu 上死机

python - 如何在不使用特定年份的情况下使用查询从数据库中选择一周

python - 检查集合是否仅包含另一个集合中的元素的最佳方法?

python - 如何提高 pymongo 查询的性能

python - 在数据框中添加一列,对现有列的不同行执行不同的操作

excel - 如何使用 VBA 将 Excel 表格的单元格值写入 Txt 文件?

python - 如何按 <CTRL>