我有 2 个 CSV 文件:“数据”和“映射”:
- “映射”文件有 4 列:
Device_Name
、GDN
、Device_Type
和Device_OS
. 所有四列都已填充。 - “数据”文件具有这些相同的列,已
Device_Name
填充列,其他三列为空白。 - 我希望我的 Python 代码打开这两个文件,并为
Device_Name
数据文件中的每个文件,从映射文件中映射其GDN
、Device_Type
和Device_OS
值。
我知道当只存在 2 列时如何使用 dict(需要映射 1 列),但是当需要映射 3 列时我不知道如何完成此操作。
以下是我尝试完成映射的代码Device_Type
:
x = dict([])
with open("Pricing Mapping_2013-04-22.csv", "rb") as in_file1:
file_map = csv.reader(in_file1, delimiter=',')
for row in file_map:
typemap = [row[0],row[2]]
x.append(typemap)
with open("Pricing_Updated_Cleaned.csv", "rb") as in_file2, open("Data Scraper_GDN.csv", "wb") as out_file:
writer = csv.writer(out_file, delimiter=',')
for row in csv.reader(in_file2, delimiter=','):
try:
row[27] = x[row[11]]
except KeyError:
row[27] = ""
writer.writerow(row)
它返回Attribute Error
。
经过一番研究,我想我需要创建一个嵌套的字典,但我不知道如何做到这一点。