1

我正在使用 OS X 10.7.5 的 Mac 上编写 python 脚本,该脚本使用内置 csv 模块从 csv 文件中读取数据,并使用 xlsxwriter 模块写入 xlsx 文件。在 Eclipse 中使用 pydev 执行时,它可以完美运行。但是当从命令行调用时,脚本会阻塞包含 unicode 字符的字符串“Rodríguez”并抛出此消息。

File "/Library/Python/2.7/site-packages/xlsxwriter/worksheet.py", line 54, in cell_wrapper
    return method(self, *args, **kwargs)

  File "/Library/Python/2.7/site-packages/xlsxwriter/worksheet.py", line 365, in write
    return self.write_string(row, col, *args)

File "/Library/Python/2.7/site-packages/xlsxwriter/worksheet.py", line 57, in cell_wrapper
    new_args = list(xl_cell_to_rowcol(args[0]))

File "/Library/Python/2.7/site-packages/xlsxwriter/utility.py", line 80, in xl_cell_to_rowcol
match = range_parts.match(cell_str)

TypeError: expected string or buffer

我在两个环境中检查了 python 的版本,它是相同的。

sys.version_info(major=2, minor=7, micro=1, releaselevel='final', serial=0)

这里可能有什么问题?是否还有其他需要在命令行中设置的设置?

4

1 回答 1

1

将此添加为脚本中的第一行:

# -*- coding: utf8 -*-

有关详细信息,请参见http://www.python.org/peps/pep-0263.html

于 2013-09-21T21:42:07.800 回答