【发布时间】:2017-02-21 02:59:17
【问题描述】:
为什么我在从 .csv 打印(行)时在 python 中收到 W292 错误(警告)?最后一行是引发错误(警告)的行。预期的输出是文件中的 .csv 值。
如果我在 print(rows) 之后添加另一行,则会收到此错误“W293 空白行在文件末尾包含空格 W391 空白行”
import csv
hfile_name = "Hospital_Readmissions_Reduction_Program.csv"
hfile = open(hfile_name, newline='')
hdata = csv.reader(hfile, delimiter=',', quotechar='"')
for rows in hdata:
print(rows)
我发现了一些关于这个错误的额外线程(警告),但不是一个明确的解决方案...... PEP8: conflict between W292 and W391
【问题讨论】:
-
Erm...我不习惯这种语法,也许尝试:
hfile = open(hfile_name)而不是使用newline参数?只是看起来有点可疑...... -
@Benjamin 不管怎样,问题是关于 W 警告(不是真正的错误,除非有人选择这样)作为应用样式检查。
-
@GedAWizardofEarthSea 这可能是该工具中的一个小怪癖 - 在特定的邮件列表/项目跟踪器上询问可能更合适。无论如何..如何将文件更改为以
sys.exit(0)之类的语句结尾?还有,Python 2 还是 3(因为涉及到print)? -
@user286 你是对的,这是一个警告。我注意到(可能是错误的)这是一个错误,因为我第一次没有收到想要的结果。然而,我第二次运行它并确实收到了所需的输出......
-
它的第一个警告 (W391) 可能是因为您在文件末尾缺少一个空白行,当您添加一个空白行时,它有额外的空格,因为大多数 IDE 会缩进下一行自动为你,给W293。这与您的特定代码无关,也与 Python 无关,更多的是与您没有提到的文本编辑器 (IDE) 相关...
标签: python csv anaconda spyder