Присвойте строку заголовку фрейма данных, который начинается с определенной строки из Excel-Pandas - PullRequest
0 голосов
/ 27 мая 2018

У меня есть много файлов 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), enter image description here

Как вы можете видеть выше, существует три разных уровня заголовков.Конечно, у каждого файла есть строка, которая начинается с 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?Любая помощь или предложения будут великолепны.

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