【发布时间】:2018-05-13 20:04:18
【问题描述】:
在我将数据附加到每个列表中之后,我有一组列表,在我 print(i,j,k) 之后看起来像这样:
print(i) = [('Danny', 'US', '1995')]
print(j) = [('290', 'Technology')]
print(k) = [('Winter', 'Corporate', '90', '20009')]
看起来很简单,但如果我这样做:
writer.writerow(i + j + k)
我的输出如下:
column 1 column 2 column 3
('Danny', 'US', '1995) ('290', 'Technology') (Winter', 'Corporate', '90', '20009)
但是,我想要使用 writerow 获取所有这些列表并将它们写入 CSV 并排,不带括号或引用,其中每个列表中的每个元素都在自己的列中,如下所示:
Danny US 1995 290 Technology Winter Corporate 90 20009
我可以使用 writerows(i + j + k) 让每个列表写在自己的列中,但是然后每个列表都写在另一个列表下面而不是并排写。
我的最小化但完整的程序如下所示:
soup = BeautifulSoup(xml_string, "lxml")
with open('./output.csv', 'ab+') as f:
writer = csv.writer(f, dialect = 'excel')
for info in data:
i = []
j = []
k = []
for item1 in p:
i.append(....stuff with Danny)
for item2 in b:
j.append(....things with 290)
for item3 in n:
k.append(....info with Winter)
writer.writerow(i + j + k)
【问题讨论】:
-
如果
i、j和k是元组,那么i + j + k也应该是一个元组,writerow应该写单独的列……对吗? -
但它没有,所以它们不是。也许
i、j、k是字符串? -
@HelloToEarch,请将您的程序缩减为能够说明问题的最短的完整程序。请将该简短程序以及您的实际和预期输出复制粘贴到您的问题中。请参阅minimal reproducible example 了解更多信息。
-
我在上面的编辑中添加了我认为完整但最小的内容!