'Data'와 'Mapping'이라는 두 개의 CSV 파일이 있습니다.
- '매핑'파일이 4 열이 :
Device_Name
,GDN
,Device_Type
,와Device_OS
. 네 개의 열이 모두 채워집니다. - '데이터'파일에는 동일한 열이 있으며
Device_Name
열이 채워지고 다른 세 열은 비어 있습니다. - 내 파이썬 코드는 두 파일과 각을 열려면
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
.
몇 가지 연구를 한 후에 중첩 된 dict을 만들어야한다고 생각하지만이를 수행하는 방법을 모릅니다.
row[27] = x[row[11]]["Device_OS"]
?
Device_Name
하여 인덱스를 만든 다음 인덱스 join
에서 두 개의 데이터 프레임을 직접 사용할 수 있습니다 Device_Name
.
Device_Name
열은 두 파일의 키입니다.이 키에서 Device_OS, GDN 및 Device_Type 값을 매핑 파일에서 데이터 파일로 매핑하려고합니다.