Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何防止在由双引号保护的表达式上使用逗号分隔?_Python_String_Csv_Split - Fatal编程技术网

Python 如何防止在由双引号保护的表达式上使用逗号分隔?

Python 如何防止在由双引号保护的表达式上使用逗号分隔?,python,string,csv,split,Python,String,Csv,Split,我有一行(来自csv)如下所示: line = 'M1,After.Life,Agnieszka Wojtowicz-Vosloo,Agnieszka Wojtowicz-Vosloo,"Drama, Thriller",2009/10/2/,80' 当我打印line.split(',')时,我得到: ['M1', 'After.Life', 'Agnieszka Wojtowicz-Vosloo', 'Agnieszka Wojtowicz-Vosloo', '"Drama', ' Thri

我有一行(来自csv)如下所示:

line = 'M1,After.Life,Agnieszka Wojtowicz-Vosloo,Agnieszka Wojtowicz-Vosloo,"Drama, Thriller",2009/10/2/,80'
当我
打印line.split(',')
时,我得到:

['M1', 'After.Life', 'Agnieszka Wojtowicz-Vosloo', 'Agnieszka Wojtowicz-Vosloo', '"Drama', ' Thriller"', '2009/10/2/', '80']
这是不受欢迎的,因为它也分裂了“戏剧,惊悚片”。换句话说,我想要的结果是:

['M1', 'After.Life', 'Agnieszka Wojtowicz-Vosloo', 'Agnieszka Wojtowicz-Vosloo', '"Drama Thriller"', '2009/10/2/', '80']
有简单方法的想法吗?谢谢

您改用了。您有一个CSV格式,该模块知道如何正确处理引用的值

import csv

with open(somefilename, 'rb') as inputfile:
    reader = csv.reader(inputfile)
    for row in reader:
        # row is a list of string values found on each line, ready split, 
        # with qouted values preserved.
示例行的快速演示:

>>> import csv
>>> inputfile=['M1,After.Life,Agnieszka Wojtowicz-Vosloo,Agnieszka Wojtowicz-Vosloo,"Drama, Thriller",2009/10/2/,80\n']
>>> list(csv.reader(inputfile))
[['M1', 'After.Life', 'Agnieszka Wojtowicz-Vosloo', 'Agnieszka Wojtowicz-Vosloo', 'Drama, Thriller', '2009/10/2/', '80']]

请注意,引号已被删除,但逗号仍然作为值的一部分存在。

谢谢,这正是我所需要的!如果可以,我会接受答案;)