使用Python,我有存储在列表中的数据:的Python:写列表到CSV,调换第一行成列
a = [['a', 'b', 'c'], [1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]]
我想写这个列表到CSV,看起来像下面这样:
a, 1, 2, 3, 4
b, 5, 6, 7, 8
c, 9, 10, 11, 12
这是我阅读大量的其他变调问题后与上前代码:
length = len(a[0])
with open('test.csv', 'w') as test_file:
file_writer = csv.writer(test_file)
for i in range(length):
file_writer.writerow([x[i] for x in a])
瓦ICH给我:
a,1,5,9
b,2,6,10
c,3,7,11
所以调换整个列表(更不用提一些值甚至可以输),但如上图所示,我只想要调换的第一行。我只是不知道该把手放在哪里。
感谢Nf4r,我想出了下面的 - 可能看起来笨拙,但工程:-)
a = [['a', 'b', 'c'], [1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]]
f = open('test.csv', 'a')
for header, data in zip(a[0], a[1:]):
result = "{header}, {data}".format(header = header,
data = ', '.join((str(n) for n in data)))
f.write(result)
f.write('\n')
f.close()
欢迎来到StackOverflow。请把你到目前为止尝试过的代码放在一边,因为你没有尝试,所以我已经低估了你的问题。 – DhruvPathak
是的,提供更多的代码。如果你能重组你的数据结构'a',请考虑一下。也许使用一个字典:'{“a”:[1,2,3,4]; “b”:[5,6,7,8] .....'。这将使解决方案变得更容易。 – buhtz
@DhruvPathak +1:他做到了! –