「フルネーム」フィールドをExcelファイルのデータから「ファーストネーム」、「ミドルネーム」、「ラストネーム」フィールドに分割しています。でも、私はopenpyxlに目を向けましたが、私が望むように変数を分割しましたが、since adding columns to openpyxl for the new fields is not easy、私はパンダに値を渡すと思っていました。私はExcelWriterにDFを送った後、唯一の最後の行は、Excelファイルに追加されたデータはしかし、適切な場所である。ここ パンダにopenpyxlデータを渡す
コードです:。。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()
アイデア
ありがとうございました
感謝。私はリストに追加するのを忘れていたとは思わない。私が問題を抱えていたパンダの部分は、名前フィールドを3に分割していましたが、これはopenpyxlで簡単でした – mattrweaver