将不理想的列表格式导出到Excel
我有一个大的列表,包含一系列ID和相关的值,极短的版本看起来像这样:
large = [('550111', [(4, 5, 8), (6, -4, -6)]), ('222211', [(2, -4, 5), (1, 15, -4)])]
我想以5501
将在A1
中的方式将其导出为excel,那么第一组值将在B1
, B2
和B3
之下并且在C1
, C2
, C3
设置下一个值,然后有2222
的空间在E1
,与F1
, F2
和F3
相关的第一组值, G1
, G2
, G3
的第二组值。 即在Excel中(每个值都有自己的Excel矩形东西),如下所示:
550111 4 5 8 6 -4 -6 'space here (dont know how to add one)' 222211 2 -4 5 1 15 -4 'SPACE HERE AGAIN'
我曾经尝试过这样的事情:
writer_jobby = csv.writer(open('poo5.csv', 'wb'), delimiter=',') for i in large: if i == '[': i.replace() if i == ']': i.replace() if i == '(': i.replace() if i == ')': i.replace() else: writer_jobby.writerow(i)
但我绝对是无稽之谈,因为我在如何处理列表中的[]
和()
。 我真的很感激,如果有人可以阐明我如何处理数据,所以我可以以所需的方式出口。 谢谢。
非常感谢。
编辑
新的理想forms,包括 绝对最大值 :
550111 4,5,8 6,-4,-6 'space here' 'Max:' 6, 5, 8 'space here' 222211 2,-4,5 1,15,-4 'space here' 'Max:' 2, 15, 5 'space here' 1, 2, 3, ........, 8904
也许这样的事情会有所帮助?
import csv large = [('5501', [(4, 5, 8), (6, -4, -6)]), ('2222', [(2, -4, 5), (1, 15, -4)])] with open("out1.csv", "wb") as fp: # open the file, call it fp, and autoclose it writer = csv.writer(fp, delimiter=",") for entry in large: writer.writerow([entry[0]]) # one-element list for line in entry[1]: # loop over each tuple in the second element writer.writerow(line) writer.writerow([]) # write an empty row
这产生
localhost-2:coding $ cat out1.csv 5501 4,5,8 6,-4,-6 2222 2,-4,5 1,15,-4
通常通过从元素中写行来使用csv
模块。 我不知道final
是什么,但看起来你正在试图用一个large
的string来做一些事情,这不会很好。