Получить данные из объединенных ячеек Excel Python pandas
На входе xlsx файл с данными, некоторые ячейки объединены. Какие-то проблемы при считывании данных. Причем один блок объединенных ячеек отработал как хотелось. Код
import pandas as pd
df = pd.read_excel('1.xlsx')
print(df)
print('')
res = df.ffill()
print(res)
Результат:
gggg 2.0 7.0 hh
0 NaN 3.0 8.0 NaN
1 NaN 4.0 9.0 NaN
2 NaN 5.0 99.0 fff
3 NaN 6.0 90.0 NaN
gggg 2.0 7.0 hh
0 NaN 3.0 8.0 NaN
1 NaN 4.0 9.0 NaN
2 NaN 5.0 99.0 fff
3 NaN 6.0 90.0 fff
А хотелось бы:
gggg 2.0 7.0 hh
0 gggg 3.0 8.0 hh
1 gggg 4.0 9.0 hh
2 gggg 5.0 99.0 fff
3 gggg 6.0 90.0 fff
Ссылка на файл https://cloud.mail.ru/public/BedJ/TJNmsx1qJ
Ответы (2 шт):
Автор решения: ganz
→ Ссылка
import pandas
table=pandas.DataFrame(zip(['a1','a2'],['b1','b2']),columns=['columnA','columnB'],dtype='string')
'''
columnA columnB
0 a1 b1
1 a2 b2
'''
table['columnA']='valueA'
'''
columnA columnB
0 valueA b1
1 valueA b2
'''
#update криво прочёл вопрос
table.replace('a1','a100')
'''
columnA columnB
0 a100 b1
1 a2 b2
'''
Автор решения: Sergey
→ Ссылка
Вопрос решен. Первые ячейки не обрабатывались, так как считались индексами таблицы.
Необходимо при чтении файла указать:
df = pd.read_excel('1.xlsx', header=None)