如何使用Python合并CSV字符串中的字段?

Ton*_*ony 2 python database csv string

我试图使用Python合并CSV文件的每一行中的三个字段.这很简单,除了一些字段被双引号包围并包含逗号.这是一个例子:

,,Joe,Smith,New Haven,CT,"Moved from Portland, CT",,goo,
Run Code Online (Sandbox Code Playgroud)

是否有一个简单的算法可以合并这种格式的每一行的字段7-9?并非所有行都包含双引号中的逗号.

谢谢.

S.L*_*ott 10

像这样的东西?

import csv
source= csv.reader( open("some file","rb") )
dest= csv.writer( open("another file","wb") )
for row in source:
    result= row[:6] + [ row[6]+row[7]+row[8] ] + row[9:]
    dest.writerow( result )
Run Code Online (Sandbox Code Playgroud)

>>> data=''',,Joe,Smith,New Haven,CT,"Moved from Portland, CT",,goo,
... '''.splitlines()
>>> rdr= csv.reader( data )
>>> row= rdr.next()
>>> row
['', '', 'Joe', 'Smith', 'New Haven', 'CT', 'Moved from Portland, CT', '', 'goo', '' ]
>>> row[:6] + [ row[6]+row[7]+row[8] ] +  row[9:]
['', '', 'Joe', 'Smith', 'New Haven', 'CT', 'Moved from Portland, CTgoo', '']
Run Code Online (Sandbox Code Playgroud)