感谢百万读者阅读我的文章以及您可能提供的任何信息。将数组写入字典列表
我试图打印到一个CSV文件,并拥有一切工作,直到涉及到打印。我试图打印一个简单的字典列表,并完美的作品,当我输入我的数组名称时,它不会返回一个错误,所以逻辑说我做的是正确的,但是当我试图打印到一个文件时,它只会打印数组列表中的第一项,并将其打印出来3次。我确信我犯了一个愚蠢的错误,但似乎无法在网上找到答案。为了记录,这不是一项家庭作业,这只是我试图自己学习的东西。
import csv
n = 0
product = ['Beer', 'Wine', 'Whiskey']
item = ['Lager', 'Red', 'Bells']
size = ['Pint', 'Bottle', 'Single']
price = [5.50, 17.50, 5.50]
receipt_dict = {'Product': product[n],
'Item': item[n],
'Size': size[n],
'Price': price[n]}
headings = {'Product',
'Item',
'Size',
'Price'}
receipt = open('dict.csv', 'w')
w = csv.DictWriter(receipt, fieldnames=headings, dialect='excel')
w.writeheader()
while len(product) != n:
w.writerow(receipt_dict)
n += 1
receipt.close()
如果任何人能够指出我在正确的方向,我会很大。
亲切的问候
马修
要初始化'receipt_dict'与价值观和不改变这些值。即如果在代码开始时n = 1,则产品[n] =='啤酒'。因为您正在迭代n,并不意味着您正在迭代值 –