У меня есть много файлов Excel, которые находятся в разных форматах.Некоторые из них выглядят так, что обычно с одним заголовком можно прочитать в pandas
.
# First Column Second Column Address City State Zip
1 House The Clairs 4321 Main Street Chicago IL 54872
2 Restaurant The Monks 6323 East Wing Miluakee WI 45458
и некоторые из них имеют различные форматы с несколькими заголовками,
Table 1
Comp ID Info
# First Column Second Column Address City State Zip
1 Office The Fairs 1234 Main Street Seattle WA 54872
2 College The Blanks 4523 West Street Madison WI 45875
3 Ground The Brewers 895 Toronto Street Madrid IA 56487
Table2
Comp ID Info
# First Column Second Column Address City State Zip
1 College The Banks 568 Old Street Cleveland OH 52125
2 Professional The Circuits 695 New Street Boston MA 36521
Это выглядит так в Excel (здесь я вставляю изображение, чтобы показать, как оно на самом деле выглядит вexcel),
Как вы можете видеть выше, существует три разных уровня заголовков.Конечно, у каждого файла есть строка, которая начинается с First Column
.
Для отдельного файла, подобного этому, я могу прочитать, как показано ниже, что вполне нормально.
xls = pd.ExcelFile(r'mypath\myfile.xlsx')
df = pd.read_excel('xls', 'mysheet', header=[2])
Однако мне нужен окончательный кадр данных, подобный этому (добавляется с файлами, которые имеют толькоодин заголовок),
First Column Second Column Address City State Zip
0 House The Clair 4321 Main Street Chicago IL 54872
1 Restaurant The Monks 6323 East Wing Milwaukee WI 45458
2 Office The Fairs 1234 Main Street Seattle WA 54872
3 College The Blanks 4523 West Street Madison WI 45875
4 Ground The Brewers 895 Toronto Street Madrid IA 56487
5 College The Banks 568 Old Street Cleveland OH 52125
6 Professional The Circuits 695 New Street Boston MA 36521
Поскольку у меня много файлов, я хочу прочитать каждый файл в своей папке и очистить их, получив только один заголовок из строки.Если бы я знал позицию индекса строки, которая мне нужна как голова, я мог бы просто сделать что-то вроде этого post .
Однако, поскольку некоторые из этих файлов могут иметь несколько заголовков (я показал 2 дополнительных заголовка в примере выше, некоторые имеют 4 заголовка) в разных форматах, я хочу перебрать файл и задать строку, начинающуюся сFirst Column
заголовок в начале файла.
Кроме того, я хочу удалить те строки, которые находятся посередине файла с First Column
.
После создания заголовков очищенных файлов, начиная с First Column
, я могу добавить каждый фрейм данных и создать нужный мне выходной файл.Как я могу добиться этого в pandas
?Любая помощь или предложения будут великолепны.