Python 在命令行和 eclipse 中使用 pydev 的行为不同

标签 python macos csv pydev xlsxwriter

我正在使用 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)

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

最佳答案

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

# -*- coding: utf8 -*-

参见http://www.python.org/peps/pep-0263.html了解详情

关于Python 在命令行和 eclipse 中使用 pydev 的行为不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18937853/

相关文章:

MySQL "0 or 1"CSV 文件中的列导入为 "127"

php - MySQL 替换为仅插入 .csv 中 54,000 条记录中的大约 14,000 条

python - 有没有一种 Pandas 方法可以获取连续行之间的平均值?

python - 正则表达式中 "|"与 .* 的替代匹配的行为

Python嵌套for循环输出不可预测?

macos - Cocoa 应用程序首次启动教程的解决方案

python - 让 matplotlib 工作 - 绘图未显示

python - 在mac上使用python访问外部硬盘驱动器中的文件

Python:如何保留一个文件中的 header 并将其附加到另一个文件

python - 在随机森林中使用 "one hot"编码的因变量