如何用逗号分隔一行,但忽略引号中的逗号Python

2024-05-14 09:52:20 发布

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

Possible Duplicate:
How to read a CSV line with "?

我已经看到了一些相关的问题,但没有一个直接解决我正在试图做的事情。 我正在从一个CSV文件中读取几行文本。

所有项目都在引号中,有些项目在引号中有额外的逗号。 我想沿逗号拆分行,但忽略引号中的逗号。 在Python中是否有一种不需要大量regex语句的方法可以做到这一点。

例如:

"114111","Planes,Trains,and Automobiles","50","BOOK"

我希望将其解析为4个独立的值变量:

"114111"  "Planes,Trains,and Automobiles"  "50" "Book"

line.split()中是否缺少一个简单的选项?


Tags: andcsvto项目readwithline引号
2条回答

您可能可以拆分为“,”即“[引号][逗号][引号]”

另一个选项是使用转义字符,所以如果有人想在字符串中嵌入逗号,他们就要使用反斜杠。然后必须拆分字符串,然后在处理之前对其进行解压。

不要试图重新发明轮子。

如果要从CSV文件读取行,请使用标准库中Python的^{} module

示例:

> cat test.py
import csv
with open('some.csv') as f:
    reader = csv.reader(f)
    for row in reader:
        print(row)
> cat some.csv
"114111","Planes,Trains,and Automobiles","50","BOOK"

> python test.py
['114111', 'Planes,Trains,and Automobiles', '50', 'BOOK']
[]

任务完成了!

相关问题 更多 >

    热门问题