2016-11-29 2 views
-1

Ich verwende Pandas, um einen Titel() in die Spalte Adresse in meiner CSV-Datei einfügen, so kann ich direkt meine CSV-Datei ohne eine temporäre CSV-Datei, aber es hält einen Fehler auswerfen. Bitte geben Sie Ihren pünktlichen Rat.AttributError: 'DataFrame' Objekt hat kein Attribut 'Adresse'

import pandas as pd 

df = pd.read_fwf('C:\\Users\\Admissions.csv') 
df.Address = df.Address.apply(lambda x: x.title()) 
df.to_csv('C:\\Users\\Admissions.csv', index=False, sep='\t') 

Fehler:

Traceback (most recent call last): 
    File "C:\Users\Addressupdate.py", line 23, in <module> 
    df.Address = df.Address.apply(lambda x: x.title()) 
    File "C:\Python27\lib\site-packages\pandas\core\generic.py", line 2744, in __getattr__ 
    return object.__getattribute__(self, name) 
AttributeError: 'DataFrame' object has no attribute 'Address' 

Fehler:

df = pd.read_fwf('C:\\Users\\Admissions.csv') 
df['Address'] = df['Address'].str.title() 
df.to_csv('C:\\Users\\Admissions.csv', index=False, sep='\t') 

File "pandas/index.pyx", line 139, in pandas.index.IndexEngine.get_loc (pandas\index.c:4160) 
    File "pandas/index.pyx", line 161, in pandas.index.IndexEngine.get_loc (pandas\index.c:4024) 
    File "pandas/src/hashtable_class_helper.pxi", line 732, in pandas.hashtable.PyObjectHashTable.get_item (pandas\hashtable.c:13161) 
    File "pandas/src/hashtable_class_helper.pxi", line 740, in pandas.hashtable.PyObjectHashTable.get_item (pandas\hashtable.c:13115) 
KeyError: 'Address' 
+0

können Sie versuchen, 'df [ 'Adresse'] = df [ 'Adresse']. Str.title()' – EdChum

+0

Könnten Sie die Inhalte von 'df' nach seiner anfänglichen Zuweisung teilen? – fuglede

+0

Was haben Sie in 'Admissions.csv'? Bearbeite die Frage und füge eine Fehlermeldung in Frage, nicht im Kommentar - sie wird besser lesbar sein. – furas

Antwort

2

auf die Kommentare Basierend oben, Sie haben einige seltsame Zeichen in den Spaltentitel in Admissions.csv. Was, wenn Sie die Spalten in Python unmittelbar nach dem Lesen umbenennen?

df.columns = ["Permit Number","Address","Street Name","Applicant Name","Contractor Name","SITE_SUBDIVISION","RECORDID"] 
+0

Danke Alex, ja, irgendwas ist mit dem CSV los. Sie denken, das Umbenennen der Spalten könnte den Trick tun? –

Verwandte Themen