将行分配给以Excel-Pandas

时间:2018-05-26 22:20:08

标签: python python-3.x pandas header

我有很多不同格式的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个标题),我想迭代遍历文件并设置以{{1开头的行在文件的开头是标题。

此外,我想删除位于First Column文件中间的那些行。

在创建以First Column开头的已清理文件标题后,我可以附加每个数据框并创建我需要的输出文件。我怎样才能在First Column中实现这一目标?任何帮助或建议都会很棒。

0 个答案:

没有答案