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

chr*_*sfs 10 python csv

可能重复:
如何读取带有"?"的CSV行?

我已经看到了一些相关的问题,但没有一个直接解决了我想要做的事情.我正在阅读CSV文件中的文本行.

所有项目都在引号中,有些在引号内有逗号.我想用逗号分隔该行,但忽略引号内的逗号.有没有办法在Python中执行此操作,不需要许多正则表达式语句.

一个例子是:

"114111","Planes,Trains,and Automobiles","50","BOOK"
Run Code Online (Sandbox Code Playgroud)

我想解析为4个独立的值变量:

"114111"  "Planes,Trains,and Automobiles"  "50" "Book"
Run Code Online (Sandbox Code Playgroud)

line.split()我错过了一个简单的选择吗?

Joh*_*web 32

不要试图重新发明轮子.

如果要从CSV文件中读取行,请使用标准库中的Python csv模块.

例:

> 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']
[]
Run Code Online (Sandbox Code Playgroud)

任务完成!