读取CSV档案时如何修正非法的换行值

时间:2019-05-16 09:09:33

标签: python

我在使用Python 3.7读取.csv文件时遇到了麻烦。当我写信时:

handleSpringSecurityException

并运行代码,它只是说:


import csv
with open ('iris.csv', newline =' ') as csv_file:
    rows = csv.reader(csv_file)
    for row in rows:
        print(row)

如何解决此问题?而为什么''具有非法价值?我预计它将是:

ValueError                                Traceback (most recent call last)
<ipython-input-2-42d17202da4e> in <module>()
      1 import csv
----> 2 with open ('iris.csv', newline =' ') as csv_file:
      3     rows = csv.reader(csv_file)
      4     for row in rows:
      5         print(row)

ValueError: illegal newline value:  

谢谢!

1 个答案:

答案 0 :(得分:0)

从文档中:https://docs.python.org/3/library/functions.html#open

  

换行符控制通用换行符模式的工作方式(仅适用于文本模式)。可以是“无”,“”,“ \ n”,“ \ r”和“ \ r \ n”。

对于您来说,newline =' '无效,因为它不是文档值中列出的字符之一。

我认为您对csv.reader中的csv delimiter感到困惑,这是将csv文件中的两个值分隔开的原因

  

Dialect.delimiter
  一个用于分隔字段的单字符字符串。默认为“,”。

示例

a,b,c,d
e,f,g,h

根据您的分隔符,您可以在读取csv的同时在delimiter字段中指定

rows = csv.reader(csv_file, delimiter="<your_delimiter>")