gpt4 book ai didi

python - 如何基于 CSV 文件创建字典

转载 作者:太空宇宙 更新时间:2023-11-03 13:58:02 26 4
gpt4 key购买 nike

我有一个 csv 文件,格式如下:

#ID #Number #Date #Name #Email
1978 26 24/4/10 Jim Jim@randomemail.com
1328 31 22/7/10 Jim Kim@randomemail.com
1908 26 21/4/10 Jim Dim@randomemail.com
1918 26 29/4/10 Jim Rim@randomemail.com
1938 46 24/4/10 Jim Lim@randomemail.com

我已经打开 csv 文件并打印出来了。

我现在想把它做成字典,例如: [ID:1978,编号:26,日期:24/4/10,姓名:Jim,电子邮件: Jim@randomemail.com]、[等]、[等]

我知道这可能非常简单,但我是新手,已经被困了几个小时。

最佳答案

根据我的评论,考虑如下内容:

import csv
with open('file.txt', 'r') as f:
reader = csv.DictReader(f, delimiter=' ', skipinitialspace=True)
for row in reader:
print(row)

输出:

OrderedDict([('#ID', '1978'), ('#Number', '26'), ('#Date', '24/4/10'), ('#Name', 'Jim'), ('#Email', 'Jim@randomemail.com')])OrderedDict([('#ID', '1328'), ('#Number', '31'), ('#Date', '22/7/10'), ('#Name', 'Jim'), ('#Email', 'Kim@randomemail.com')])OrderedDict([('#ID', '1908'), ('#Number', '26'), ('#Date', '21/4/10'), ('#Name', 'Jim'), ('#Email', 'Dim@randomemail.com')])OrderedDict([('#ID', '1918'), ('#Number', '26'), ('#Date', '29/4/10'), ('#Name', 'Jim'), ('#Email', 'Rim@randomemail.com')])OrderedDict([('#ID', '1938'), ('#Number', '46'), ('#Date', '24/4/10'), ('#Name', 'Jim'), ('#Email', 'Lim@randomemail.com')])

The two extra arguments to DictReader are necessary to get your variable-space-delimited file to parse correctly.

Or, if you want all the rows at once, something like:

import csv
with open('file.txt', 'r') as f:
reader = csv.DictReader(f, delimiter=' ', skipinitialspace=True)
rows = list(reader)

print(rows)

产生

[    OrderedDict([('#ID', '1978'), ('#Number', '26'), ('#Date', '24/4/10'), ('#Name', 'Jim'), ('#Email', 'Jim@randomemail.com')]),     OrderedDict([('#ID', '1328'), ('#Number', '31'), ('#Date', '22/7/10'), ('#Name', 'Jim'), ('#Email', 'Kim@randomemail.com')]),     OrderedDict([('#ID', '1908'), ('#Number', '26'), ('#Date', '21/4/10'), ('#Name', 'Jim'), ('#Email', 'Dim@randomemail.com')]),     OrderedDict([('#ID', '1918'), ('#Number', '26'), ('#Date', '29/4/10'), ('#Name', 'Jim'), ('#Email', 'Rim@randomemail.com')]),     OrderedDict([('#ID', '1938'), ('#Number', '46'), ('#Date', '24/4/10'), ('#Name', 'Jim'), ('#Email', 'Lim@randomemail.com')])]

and,

print(rows[0]["#Email"])

产生

Jim@randomemail.com

Update

If your file is actually tab delimited, you could use:

reader = csv.DictReader(f, delimiter='\t')

您应该能够通过打印行来判断分隔符是什么(正如您已经拥有的那样),但是将其包装在 repr 调用中——类似于 print(repr(line) )。如果您在输出中看到 \t,则它是用制表符分隔的。

关于python - 如何基于 CSV 文件创建字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52826442/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com