【发布时间】:2015-09-30 10:03:36
【问题描述】:
我有一个由字符串、整数和浮点数组成的列表,以及字符串、整数和浮点数的嵌套列表。这是一个例子
data = [
1.0,
'One',
[1, 'Two'],
[1, 'Two', ['Three', 4.5]],
['One', 2, [3.4, ['Five', 6]]]
]
我希望将列表中的每个项目写入 CSV 文件中的一行。因此,根据上述数据,文件将如下所示:
1.0
One
1,Two
1,Two,Three,4.5
One,2,3.4,Five,6
有很多关于如何将列表写入文件的资源,但我还没有看到任何独立列表嵌套的资源。我确信我可以想出一些涉及许多循环等的东西,但是有人有更优雅的解决方案吗?
编辑:我想出的最好的办法是将列表中的每个项目转换为字符串,然后删除多余的字符(“[”、“]”等)。然后附加项目字符串,并将结果写入文件:
string = ''
for i in data:
line = str(i).replace("[","")
line = line.replace("]","")
line = line.replace("'","")
line = line.replace(" ","")
string+=line + '\n'
# write string to file...
这只是感觉很笨拙,并且可能有害,因为它假定字符串不包含括号、引号或空格。我正在寻找更好的解决方案!
【问题讨论】:
-
请向我们展示您的尝试。如果你还没有,一旦你从一个方向开始,有人可以帮助你想出一个准确的解决方案。事实上,这应该不是那么难 - 以写入模式打开一个 csv 文件,然后在循环中开始写入文件。
-
一个更优雅的解决方案比什么?显示您尝试过的内容...
-
我认为最简单的是flatten each item first然后保存到csv。