У меня есть 2 CSV файла. Первый файл данных, а другой файл сопоставления. Файл сопоставления имеет 4 столбца: Device_Name
, GDN
, Device_Type
и Device_OS
. Те же столбцы присутствуют в файле данных.
Файл данных содержит данные с Device_Name
столбцом Device_Name
а остальные три столбца не заполнены. Все четыре столбца заполняются в файле сопоставления. Я хочу, чтобы мой код Python открывал оба файла и для каждого Device_Name
в файле данных, отображал их значения GDN
, Device_Type
и Device_OS
из файла Mapping.
Я знаю, как использовать dict, когда присутствуют только 2 столбца (необходимо сопоставить 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)
Возвращает Atribute Error
.
После некоторого исследования я понял, что мне нужно создать вложенный дикт, но я не знаю, как это сделать. Пожалуйста, помогите мне решить эту проблему или подтолкните меня в правильном направлении, чтобы решить эту проблему.