2 CSV dosyam var: "Veri" ve "Eşleme":
- 'Mapping' dosyası 4 sütun bulunur:
Device_Name
,GDN
,Device_Type
, veDevice_OS
. Dört sütunun tümü doldurulur. - 'Veri' dosyası,
Device_Name
sütun doldurulmuş ve diğer üç sütun boş olarak aynı sütunları içerir . - Benim Python kodu hem dosya ve her biri için açmak istediğiniz
Device_Name
, Veri dosyasında onun haritaGDN
,Device_Type
veDevice_OS
Haritalama dosyadan değer.
Yalnızca 2 sütun varken (1'in eşleştirilmesi gerekir) dict'in nasıl kullanılacağını biliyorum, ancak 3 sütunun eşleştirilmesi gerektiğinde bunu nasıl başaracağımı bilmiyorum.
Eşleştirmeyi gerçekleştirmeye çalıştığım kod şu şekildedir 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)
Dönüyor Attribute Error
.
Biraz araştırdıktan sonra, iç içe geçmiş bir söz oluşturmam gerektiğini düşünüyorum, ancak bunu nasıl yapacağım konusunda hiçbir fikrim yok.
Device_Name
sütunu her iki dosyanın anahtarıdır, bu anahtarda Device_OS, GDN ve Device_Type değerlerini eşleme dosyasından veri dosyasına eşlemek istiyorum.