【问题标题】:Why I am getting W292 error(warning) in python when print(rows) from a .csv?为什么我在从 .csv 打印(行)时在 python 中收到 W292 错误(警告)?
【发布时间】: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

https://github.com/PyCQA/pycodestyle/issues/286

【问题讨论】:

  • 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


【解决方案1】:

正如the comments 中所述,您面临的问题很可能是 IDE 特定的,而不是 Python 问题。

我将您的代码粘贴到另一个 IDE (Pycharm Community Edition) 和 online Python code checker 上,但在任何情况下都没有出现您提到的警告。

无论如何,由于这只是一个警告,您可以运行您的代码而不会出现任何进一步的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-11-10
    • 1970-01-01
    • 1970-01-01
    • 2015-07-14
    • 2019-01-08
    • 2020-04-23
    • 2013-12-14
    • 1970-01-01
    相关资源
    最近更新 更多