如何修复读取csv fi时的非法换行值

2024-09-19 12:39:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我在使用Python3.7读取.csv文件时遇到问题。当我写下:


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

运行代码,上面写着:

^{pr2}$

我怎样才能解决这个问题?为什么“”具有非法值?我把它解释成:

['sepal_length', 'sepal_width', 'petal_length', 'petal_width', 'species']
['5.1', '3.5', '1.4', '0.2', 'setosa']
['4.9', '3', '1.4', '0.2', 'setosa']
['4.7', '3.2', '1.3', '0.2', 'setosa']
['4.6', '3.1', '1.5', '0.2', 'setosa']

谢谢!在


Tags: 文件csvimportiriswithnewlineopenwidth
1条回答
网友
1楼 · 发布于 2024-09-19 12:39:43

来自文档:https://docs.python.org/3/library/functions.html#open

newline controls how universal newlines mode works (it only applies to text mode). It can be None, '', '\n', '\r', and '\r\n'.

在您的例子中,newline =' '是无效的,因为它不是文档中的值中列出的字符之一。在

我想你把csv.reader中的csv delimiter混淆了,这是分隔csv文件中两个值的地方

Dialect.delimiter
A one-character string used to separate fields. It defaults to ','.

示例

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

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

^{pr2}$

相关问题 更多 >