使用Python在字段中保留CSV逗号

使用Python在字段中保留CSV逗号,python,csv,comma,Python,Csv,Comma,我有很多自动生成的CSV文件,其结构如下: id,movie,actors 1,title1,actor1,actor2 2,title2,actor1,actor2 现在,当我尝试用以下内容加载Python中的actors列时: import csv with open('file.csv') as csvfile: reader = csv.DictReader(csvfile) for row in reader: actors = row['actors']

我有很多自动生成的CSV文件,其结构如下:

id,movie,actors
1,title1,actor1,actor2
2,title2,actor1,actor2
现在,当我尝试用以下内容加载Python中的actors列时:

import csv
with open('file.csv') as csvfile:
  reader = csv.DictReader(csvfile)
    for row in reader:
      actors = row['actors']

我每一行都有我的ACTRO1和ACTRO2,但是它们不再有逗号了,所以我不能把它们分成2个不同的演员。不幸的是,我没有选择更改CSV中的字段分隔符,因为它是自动生成的。关于如何将逗号保留在字段数据中,有什么想法吗?

我将使用maxsplit参数按以下方式进行拆分:

with open('inputfile.txt') as f:
  for line in f.readlines():
    id, movie, actor_list = line.strip().split(maxsplit = 2)
    actors = actor_list.split()
    .... do something with id, movie, actors

您的
DictReader
只需要稍微进行不同的配置,然后它就可以根据需要工作了。基于上面的示例数据,以及如下所示的csv:

['actor1', 'actor2']
row['id']
row['movie']
csv文件内容

1,title1,actor1,actor2
2,title2,actor1,actor2
3,title3,actor1,actor2,actor3
以下几点应该有用

with open('file.csv') as csvfile:
    reader = csv.DictReader(csvfile, delimiter=",", fieldnames=["id","movie"], restkey="actors")
    for row in reader:
        actors = row['actors']
参与者将持有如下列表:

['actor1', 'actor2']
row['id']
row['movie']
如果要保留逗号,请执行以下操作:

print ",".join(actors)
然后,您还可以访问其他两个字段,如下所示:

['actor1', 'actor2']
row['id']
row['movie']

是将它们折叠在一起,而两个名称之间根本没有字符吗?而且总是只有两个演员吗?因为这样您就可以在标题中添加另一个actors列了。我是否正确地理解在开始和之后的变量列表中始终有id和movie字段?电影标题可以包含逗号吗(如果不是,我怎么知道这是电影标题的结尾而不是第一个演员)?我很可能会用其他符号(比如;)替换字符串中的前两个逗号,然后根据该符号拆分字符串