Заменить данные в фрейме данных на новый лист в цикле - PullRequest
0 голосов
/ 23 января 2020

У меня есть несколько листов в одном формате и я хочу объединить все данные в один лист. Каждый месяц добавляется новый лист, добавляется несколько новых строк в месяц, а некоторые данные могут измениться.

Пример

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 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

1 Ответ

0 голосов
/ 24 января 2020

вы можете использовать функцию слияния pandas dataframe

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 для сохранения фрейма данных как превосходно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...