我在这样的文件中有数据:
196465702|91017022|['95592022', '96094942', '100920382']|91048702
我将转换数据如下:
196465702|91017022|95592022|91048702
196465702|91017022|96094942|91048702
196465702|91017022|100920382|91048702
到目前为止,我试图写这个。不确定这是否是一种准确和最佳的方法。此外,如果在第 4 列和第 5 列等中有一个列表,则为每一列循环并返回会变得很棘手。
import csv
with open('sample.out','r') as x:
f = csv.reader(x,delimiter='|')
for row in f:
s = row[2].translate(None,"'")
#print s.split(',')
for t in s.split(','):
print row[0]+'|'+row[1]+'|'+t.translate(None,"[None]")+'|'+row[3].translate(None,"None")
有没有更好的方法来写这个?此外,如果数据在几列中有列表,有没有更好的方法来识别和转置到行并与其余数据连接?