我有一个列表列表;
L =
[
['Route', 1, (20, 21), (22, 23),...]
["Path", 2, (20, 21), (25, 26),...]
]
理想情况下,我想将此数据放入foo.csv或bar.xslx文件中,这样
每次我自己尝试执行此操作时,最终都会将逗号分隔成对。
答案 0 :(得分:0)
问题的答案取决于您的意思:
接下来的n个元素是数字对
如果您希望(20, 21)
之类的项目显示在您的.csv文件中,那是不可能的,因为它包含逗号。
如果您不能更改逗号分隔符,则需要选择其他文件格式。例如,您可以使用以下代码生成制表符分隔值(.tsv):
L = [
['Route', 1, (20, 21), (22, 23)],
["Path", 2, (20, 21), (25, 26)],
]
with open('out.tsv', 'w') as file:
for row in L:
file.write('\t'.join(map(str, row)) + '\n')
运行此代码将产生以下out.tsv
文件:
Route 1 (20, 21) (22, 23)
Path 2 (20, 21) (25, 26)
答案 1 :(得分:0)
将熊猫作为pd导入
df = pd.DataFrame(L)
df.to_csv(“ out.csv”)
答案 2 :(得分:0)
如果要使用csv,则必须将每个元组都用引号引起来。如果您的应用程序可以将第二个值作为字符串处理,则可以使用:
with open('out.csv','wt') as f:
for row in L:
print (*list(map(lambda x:str(x).join('"'*2),row)),sep=',',file=f)
为印刷版声明的单行道歉,但弄清楚它的作用本身就是一个教训。