[英]How to write a complex nested list to a csv file without brackets in python?
因此,我无法使用import csv
包import csv
数据写入.csv文件。 我的数据以下列一般格式存储:
[(Time, [[ID#, MAG, Merr], [ID#, MAG, Merr]])]
我的数据集示例如下所示:
data = [(24.23, [[1.0, 18.116, 0.062], [2.0, 18.236, 0.063], [3.0, 17.855, 0.063]]),
(25.67, [[1.0, 17.968, 0.044], [2.0, 18.189, 0.051], [3.0, 17.757, 0.048]]),
(26.89, [[1.0, 17.634, 0.025], [2.0, 17.781, 0.029], [3.0, 17.454, 0.026]])]
我想将此数据写入.csv文件,如下所示:
24.23, 1.0, 18.116, 0.062, 2.0, 18.236, 0.063, 3.0, 17.855, 0.063
25.67, 1.0, 17.968, 0.044, 2.0, 18.189, 0.051, 3.0, 17.757, 0.048
28.89, 1.0, 17.634, 0.025, 2.0, 17.781, 0.029, 3.0, 17.454, 0.026
我尝试了以下方法:
import csv
with open('myfile.csv', 'w') as f:
w = csv.writer(f, dialect = 'excel-tab')
w.writerows(data)
但是我在结果中得到了很多括号。 我想知道是否有更好的方法来解决这个问题?
在将其写入csv
文件之前,应先将列表展平。
with open('myfile.csv', 'w') as f:
w = csv.writer(f, dialect = 'excel-tab') #use `delimiter = ','` for ',' in file
for item in data:
lis = [item[0]] + [y for x in item[1] for y in x]
w.writerow(lis)
好吧,您可以随时手动解压缩数据:
data = [[a, b, c, d, e, f, g, h, i, j] for a, [[b,c,d],[e,f,g],[h,i,j]] in data]
...或者关于如何展平数据的SO还有很多其他答案(例如这里 )
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.