我有两个具有县级数据的csv数据集。每个数据集都通过FIPS代码标识县。我想创建一个嵌套的“主”字典,以便可以用一个标识性的FIPS代码来调用它,并且它将返回该FIPS的相应“内部”字典,其中包含来自两个数据集的所有信息。
我了解设置嵌套字典的一般方法,即:
>>> d = {}
>>> d['dict1'] = {}
>>> d['dict1']['innerkey'] = 'value'
>>> d
{'dict1': {'innerkey': 'value'}}
但是我不知道如何将其概括并从两个单独的csv读取的数据中填充它。
假设您将主字典定义为:
master = {}
首先,对较小的数据集foo进行迭代,以便可以使用FIPS密钥代码填充主字典,并将其数据存储在'foo'
密钥下:
for row in foo_csv_reader:
fips_code = row[...] # Row storing FIPS code.
inner_data = {}
inner_data['foo'] = ... # Data from foo CSV.
master[fips_code] = inner_data
现在,遍历较大的数据集栏,以便您可以使用从先前数据集中遇到的匹配FIPS代码填充主词典,并将其数据存储在'bar'
键下:
for row in bar_csv_reader:
fips_code = row[...] # Row storing FIPS code.
if fips_code in master:
inner_data = master[fips_code]
inner_data['bar'] = ... # Data from bar CSV.
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句