我在使用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:
谢谢!
答案 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>")