【发布时间】:2023-02-24 09:46:13
【问题描述】:
当我让他澄清问题时,我的教授没有帮助,助教也没有回复我的电子邮件。
输出应该是这样的:
{'ID': '1', 'Name': '"Ying Pang"', 'Age': '18'}
{'ID': '2', 'Name': '"Matthew De La Rosa"', 'Age': '22'}
{'ID': '3', 'Name': '"Camille Jenkins"', 'Age': '20'}
我了解如何通过执行以下操作将 csv 行打印为字典:
myFile = open('foo.csv', encoding='utf-8')
headers = next(myFile).rstrip().split(',') #headers
text = myFile.readline()
while text != "":
print((dict(zip(headers, text.rstrip("\n").split(",")))))
text = myFile.readline() #updates to next line
但我不太明白如何将其保存到变量或字典中。我相信我需要它作为某种输出,而不是作为文件的输出。
【问题讨论】:
-
所以你知道如何将行打印为字典,但你不知道如何将它们转换为字典......我没有关注。如果将它们作为字典打印,则必须已经将它们转换为字典。
-
而不是这样做 print: print((dict(zip(headers, text.rstrip("\n").split(","))))) 你可以简单地写 "myvar = dict(zip(headers, text. rstrip("\n").split(",")))" 会将字典放入 myvar。
-
你可以使用
csv.DictReader吗?这使它几乎成为一条线。 -
@MikeScotty 我相信它们必须保存在某个地方,因为我们将不得不在下一步中将其转换为字典列表。当我给他发电子邮件澄清打印出来是否可以时,我的教授没有帮助。
-
@Samwise 不。除了 json 之外,我们不允许将任何模块/库用于此作业的另一部分。我之前使用 csv 和 pandas 完成了整个作业,但现在我正在修改我的代码以在没有它们的情况下运行。
标签: python csv dictionary