我用大熊猫过滤Excel文件中的数据。在第69行中,我需要在毛额列中拆分以获取新的列名``Amount''和``Satang''。旧的Excel可以运行,但现在我要更改Excel文件格式相同。我错误:“列的长度必须与键的长度相同。”我检查新Excel文件中的新列是否与旧Excel文件相同。
这是我的代码:
files = pd.read_excel('R:/ASMP/00_AP_AUTO_MAIL/'+month_folder+'/STAFF_CLAIM_IE_'+today+'_01.xlsx',heading = None, encoding = 'utf-8')#Path file
files_final = files.fillna(0)
files_final_header = files_final.iloc[5]
files_final.columns = files_final_header
files_final_x = files_final[6:]
files_final_xx = files_final_x['Voucher Number Status'] = files_final_x.rename(columns={'Voucher Number Status' : 'Voucher_Number_Status'})
files_final_xx['Voucher Number Status'] = files_final_xx['Voucher_Number_Status'].str.strip()
files_final = (files_final_xx[files_final_xx.Voucher_Number_Status.apply(lambda x: isinstance(x, str))])
files_final_xa = files_final
###Add new coulmns name = ref2
files_final_xa['ref_2'] = files_final_xa['Invoice Number'].apply(lambda x: x[3:])
files_final_xa['Amount'] = files_final_xa['Payment Amount Pay']
###Add new coulmns name = Amount, satang
**files_final_xa[['Amount','Satang']] = files_final_xa.Amount.apply( lambda x: pd.Series(str(x).split('.')))**
###Add new coulmns name = break for break loop
files_final_xa['break'] = '1'
files_final_xa['break1'] = '1'
Files = files_final_xa.filter(['Supplier Name','Payment Date','Voucher Number Status','ref_2','Amount','Satang','Voucher Number Status','Description'])
Files_final = Files[Files.Description.str.contains('Cash')].fillna(0)
count = Files_final['Supplier Name'].count()
#Export file(File in User path)
Files_final.to_excel('STAFF_CLAIM_IE_'+today+'_01_Filter.xlsx')
[]
[]