我尝试迭代多个列表,并将它们保存为CSV文件以在电子表格中打开,第一个列表将其值添加到第1、2和3列,第二个列表将其值添加到第4、5和6列。相反,我得到了列表1的第1行len(列表2)的次数,然后列表2的第二行相同,以此类推。列表2按正常方式打印,然后在列表1的第二行最终打印后再次打印。希望我解释得足够好。你知道吗
ixl_file = open('ixalan.txt', 'r')
ixl_card = []
ixl_price = []
ixl_quantity = []
for line in ixl_file:
info = line.split("|")
ixl_card.append(info[0])
ixl_price.append(info[1])
ixl_quantity.append(info[2])
ixl_file.close()
kal_file = open('kaladesh.txt', 'r')
kal_card = []
kal_price = []
kal_quantity = []
for line in kal_file:
info = line.split("|")
kal_card.append(info[0])
kal_price.append(info[1])
kal_quantity.append(info[2])
kal_file.close()
with open('card_kingdom.csv', 'w', newline='') as ixl:
fieldnames = ['Col 1', 'Col 2', 'Col 3', 'Col 4', 'Col 5', 'Col 6']
writer = csv.DictWriter(ixl, fieldnames=fieldnames)
writer.writeheader()
“”“下面是我无法以所需格式添加这两个列表的地方”“”
for a,b in itertools.product(range(len(ixl_card)), range(len(kal_card))):
writer.writerow({'Col 1': ixl_card[a],
'Col 2': ixl_price[a],
'Col 3': ixl_quantity[a],
'Col 4': kal_card[b],
'Col 5': kal_price[b],
'Col 6': kal_quantity[b]
})
非常感谢您的帮助!如果你需要剩下的代码,请告诉我。谢谢!!你知道吗
这可以使用普通的CSV编写器来完成,因为所有列的顺序都是相同的:
另外,您的两个
.txt
文件可以通过为分隔符指定|
来使用csv.reader()
读取。使用zip()
从两个输入列表中的每一个列表中获取一行,然后可以将它们合并并写入输出CSV。你知道吗相关问题 更多 >
编程相关推荐