首页 > 解决方案 > 如何使用逗号分隔文件创建字典

问题描述

请建议如何从以下文件内容创建字典

2,20190327.1.csv.gz
3,20190327.23.csv.gz
4,20190327.21302.csv.gz
2,20190327.24562.csv.gz

我需要的输出是

{2:20190327.1.csv.gz:982, 3:20190327.23.csv.gz, 4:20190327.21302.csv.gz, 2:20190327.24562.csv.gz}

我是 python 新手,我尝试了下面的代码,但它不起作用。请建议

   from __future__ import print_function
   import csv
   file = '/tmp/.fileA'
      with open(file) as fh:
        rd = csv.DictReader(fh, delimiter=',')
        for row in rd:
            print(row)

标签: python

解决方案


问题是因为DictReader认为第一行是字段映射,所以数字 2 将用作下一行的键。此外,您不能两次使用相同的密钥,因此将覆盖使用 2 作为密钥的情况之一。

import csv
file = 'data.csv'

my_dict = {}
with open(file) as fh:
    rd = csv.reader(fh, delimiter=',')
    for row in rd:
        my_dict[row[0]] = row[1]

print(my_dict)

输出:

 $ python3 reader.py 
{'2': '20190327.24562.csv.gz', '3': '20190327.23.csv.gz', '4': '20190327.21302.csv.gz'}

推荐阅读