J'ai 2 fichiers CSV: 'Data' et 'Mapping':
- Fichier 'Mapping' a 4 colonnes: Device_Name,GDN,Device_TypeetDevice_OS. Les quatre colonnes sont remplies.
- Le fichier 'Données' a ces mêmes colonnes, avec une Device_Namecolonne remplie et les trois autres colonnes vides.
- Je veux que mon code Python pour ouvrir les fichiers et pour chaque Device_Namedans le fichier de données, la carte sonGDN,Device_Typeet laDevice_OSvaleur du fichier de mappage.
Je sais comment utiliser dict quand seulement 2 colonnes sont présentes (1 est nécessaire pour être mappé) mais je ne sais pas comment accomplir cela quand 3 colonnes doivent être mappées.
Voici le code à l'aide duquel j'ai essayé d'effectuer le mappage de 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)Il revient Attribute Error.
Après quelques recherches, je pense que j'ai besoin de créer un dict imbriqué, mais je ne sais pas comment faire cela.
row[27] = x[row[11]]["Device_OS"]?
                Device_Namel'index, puis vous pouvez directement joinles deux dataframes sur leur index Device_Name.
                
Device_NameLa colonne est la clé dans les deux fichiers, sur cette clé, je veux mapper les valeurs Device_OS, GDN et Device_Type du fichier de mappage au fichier de données.