我有一组 100 个文件。包含美国每个州的人口普查信息的 50 个文件。其他五十个是需要与每个州的正确文件合并的地理数据。
对于每个州,人口普查文件及其对应的地理文件通过一个公共变量 LOGRECNO 关联,即人口普查文件中的第 10 列和地理文件中的第 7 列。
问题是地理文件比人口普查文件有更多的行;我的人口普查数据不涵盖地理位置的某些子集,因此行数少于地理数据文件。
如何将人口普查数据与地理日期合并(仅保留人口普查数据所在的行/地理位置,不关心其余部分)?
我是 Python 的新手,我有点知道如何在 python 中执行基本的 csv 文件 i/o。同时操作 2 个 csv 被证明是令人困惑的。
例子:
sample_state_census.csv
Varname 1 Varname 2 ... Varname 10 (LOGRECNO) ... Varname 16000
xxx xxx ... 1 ... xxx
xxx xxx ... 2 ... xxx
...
...
xxx xxx ... 514 ... xxx
xxx xxx ... 1312 ... xxx
...
...
xxx xxx ... 1500 ... xxx
sample_state_geo.csv
GeoVarname 1 GeoVarname 2 ... GeoVarname 7 (LOGRECNO) ... GeoVarname 65
yyy yyy ... 1 ... yyy
yyy yyy ... 2 ... yyy
...
...
yyy yyy ... 514 ... yyy
yyy yyy ... 515 ... yyy
...
...
yyy yyy ... 1500 ... yyy
预期输出(不要合并 sample_state_census.csv 中不存在的 LOGRECNO 值的行)
Varname 1 Varname 2 ... Varname 10 (LOGRECNO) GeoVarname 1 GeoVarname 2 ... GeoVarname 65 Varname 11... Varname 16000
xxx xxx ... 1 yyy yyy ... yyy xxx ... xxx
xxx xxx ... 2 yyy yyy ... yyy xxx ... xxx
...
...
xxx xxx ... 514 yyy yyy ... yyy xxx ... xxx
xxx xxx ... 1312 yyy yyy ... yyy xxx ... xxx
...
...
xxx xxx ... 1500 yyy yyy ... yyy xxx ... xxx