我有这些数据 -
data = [[(1,2)], [(1,2)], [(1,2)]]
内部列表中的元组是坐标。
我试过这个 -
>>> with open("file.csv", "wb") as afile:
... writer = csv.writer(afile)
... writer.writerows(data)
该文件包含此输出 -
"(1, 2)"
"(1, 2)"
"(1, 2)"
我尝试使用此文件读取此文件 -
print [row for row in csv.reader(open("file.csv", "rb"))]
给我[]
内部列表中可能有多个元组 如何将此文件作为csv写入文件,以便另一个python程序可以读取它?
答案 0 :(得分:1)
也许是这样的?
#!/usr/local/cpython-3.3/bin/python
import csv
data = [[(1,2)], [(1,2)], [(1,2)]]
with open("file.csv", "w") as afile:
writer = csv.writer(afile)
for sublist in data:
writer.writerow(sublist[0])
答案 1 :(得分:1)
我认为这可能就是你想要的。我更改为数据以在其中一个内部列表上具有多个元组,并具有更多唯一值以帮助进行故障排除。重要的一点是,您必须传递writerows()
一系列字符串或数字(或者显然是生成此类事物的生成器表达式)。
import csv
data = [[(1,1)], [(1,2), (3,4)], [(1,3)]]
with open("file.csv", "wb") as afile:
writer = csv.writer(afile)
writer.writerows((coord for coord in data))
print [row for row in csv.reader(open("file.csv", "rb"))]
输出:
[['(1, 1)'], ['(1, 2)', '(3, 4)'], ['(1, 3)']]