Ich spalte "Full Name" Felder in "Vorname", zweiter Vorname "und" Nachname "Felder aus Daten aus einer Excel-Datei. Ich konnte nicht herausfinden, wie man das in Pandas Ich habe die Variablen aufgeteilt, wie ich es wollte.Aber since adding columns to openpyxl for the new fields is not easy dachte ich, ich würde die Werte an Pandas weitergeben sobald ich die df ExcelWriter, nur die letzte Zeile senden wird in der Excel-Datei hinzugefügt, um die Daten an den richtigen Stellen, obwohlPass Openpyx Daten zu Pandas
Hier ist der Code ist:..
for cellObj in range(2, sheet.max_row+1):
#print cellObj
id = sheet['A' + str(cellObj)].value
fullname = sheet['B' + str(cellObj)].value.strip()
namelist = fullname.split(' ')
for i in namelist:
firstname = namelist[0]
if len(namelist) == 2:
lastname = namelist[1]
middlename = ''
elif len(namelist) == 3:
middlename = namelist[1]
lastname = namelist[2]
elif len(namelist) == 4:
middlename = namelist[1]
lastname = namelist[2] + " " + namelist[3]
if (namelist[1] == 'Del') | (namelist[1] == 'El') | (namelist[1] == 'Van'):
middlename = ''
lastname = namelist[1] + " " + namelist[2]
df = pd.DataFrame({'personID':id,'lastName':lastname,'firstName':firstname,'middleName':middlename}, index=[id])
writer = pd.ExcelWriter('output.xlsx')
df.to_excel(writer,'Sheet1', columns=['ID','lastName','firstName','middleName'])
writer.save()
Irgendwelche Ideen?
Dank
Dank. Kann nicht glauben, dass ich vergessen habe, an eine Liste anzuhängen. Der Teil in Pandas, mit dem ich Probleme hatte, war die Aufteilung der Namensfelder in 3, was in openpyx einfacher war. – mattrweaver