Saya memiliki 2 file CSV: 'Data' dan 'Pemetaan':
- File 'Pemetaan' memiliki 4 kolom:
Device_Name
,GDN
,Device_Type
, danDevice_OS
. Keempat kolom diisi. - File 'Data' memiliki kolom-kolom yang sama, dengan
Device_Name
kolom diisi dan tiga kolom lainnya kosong. - Saya ingin kode Python saya untuk membuka kedua file dan untuk setiap
Device_Name
dalam file data, peta-nyaGDN
,Device_Type
danDevice_OS
nilai dari file Pemetaan.
Saya tahu cara menggunakan dict ketika hanya ada 2 kolom (1 harus dipetakan) tetapi saya tidak tahu bagaimana menyelesaikannya ketika 3 kolom perlu dipetakan.
Berikut ini adalah kode yang saya gunakan untuk menyelesaikan pemetaan 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)
Ia kembali Attribute Error
.
Setelah meneliti, saya pikir saya perlu membuat dict bersarang, tapi saya tidak tahu bagaimana melakukan ini.
row[27] = x[row[11]]["Device_OS"]
?
Device_Name
indeks, lalu Anda bisa langsung join
dua dataframe pada indeks mereka Device_Name
.
Device_Name
kolom adalah kunci di kedua file, pada kunci ini saya ingin memetakan nilai Device_OS, GDN & Device_Type dari pemetaan file ke file data.