Python 用循环中最新的工作表替换dataframe中的数据
我有多张相同格式的表格,希望将所有数据合并到一张表格中。每个月都有一个新的工作表,每个月都会添加一些新行,以及一些数据,可能会发生变化 范例Python 用循环中最新的工作表替换dataframe中的数据,python,excel,pandas,Python,Excel,Pandas,我有多张相同格式的表格,希望将所有数据合并到一张表格中。每个月都有一个新的工作表,每个月都会添加一些新行,以及一些数据,可能会发生变化 范例 Sheet (May) Sheet (June) ID Text ID Text 122 A 122 A 123 ABB 123 EXX 124 SOL 124 SOL 125 NRP 所需数据帧 df
Sheet (May) Sheet (June)
ID Text ID Text
122 A 122 A
123 ABB 123 EXX
124 SOL 124 SOL
125 NRP
所需数据帧
df
ID Text
122 A
123 EXX
124 SOL
125 NRP
import pandas as pd
import numpy as np
df1 = pd.DataFrame({'id':[122,123,124,125],
'Text':['A','EXX','SOL','NRP']
})
df2 = pd.DataFrame({'id':[122,123,124],
'Text':['A','ABB','SOL']})
mergeddf=pd.merge(df1,df2,how='left', on=['id','Text'])
print(mergeddf)
这是我的密码
import pandas as pd
import glob
import numpy as np
glob.glob("C:/Users/Desktop/Data/*.xlsx")
asset_data = pd.DataFrame(columns=['ID','Text'])
for f in glob.glob("C:/Users/Desktop/Data/*.xlsx"):
df = pd.read_excel(f, usecols="B,C")
asset_data ['Text'] = df['Text']
asset_data.describe()
asset_data.head()
asset_data.to_excel("AOMNames.xlsx")
print(asset_data)
免责声明:我完全是Python的noob您可以使用pandas dataframe的合并功能
df
ID Text
122 A
123 EXX
124 SOL
125 NRP
import pandas as pd
import numpy as np
df1 = pd.DataFrame({'id':[122,123,124,125],
'Text':['A','EXX','SOL','NRP']
})
df2 = pd.DataFrame({'id':[122,123,124],
'Text':['A','ABB','SOL']})
mergeddf=pd.merge(df1,df2,how='left', on=['id','Text'])
print(mergeddf)
输出
id Text
0 122 A
1 123 EXX
2 124 SOL
3 125 NRP
现在,您可以使用pandas函数将数据框保存为excel。感谢您的回复,不幸的是,这并不能解决新数据框使用新信息覆盖旧数据框的情况。参见上面示例中的ID 123,其中文本从ABB更改为EXX