簡體   English   中英

熊貓read_excel,第一張紙中有1行標題,但其他紙中沒有

[英]Pandas read_excel, 1 row header in first sheet but not other sheets

第一張工作表的第1行有一個標題,其他表格沒有。 有一種簡單的方法可以解決這個問題嗎?

我敢肯定,我可以通過一種繞行方式解決此問題(在一個read_excel中上載第一張表,然后在單獨的read_excel中獲得其余的表)。

假設有1本工作簿和2張紙:

all_sheets = pd.read_excel('test.xls', sheetname=None, header=0 )

In [149]: sheet1 = all_sheets["Sheet1"]
Out[149]: sheet1
  This great excel workbook was created on :2016-04-01
0             Column_name1        Column_name2        Column_name3
1               Gary                   23                Paid
2               John                   26                Paid

In [149]: sheet2 = all_sheets["Sheet2"]
Out[149]: sheet2
             Column_name1        Column_name2        Column_name3
0               Patrick                35                Paid
1               Josh                   23                Paid
2               Justin                 26                Paid

假設您要使用第一張工作表中的標題並將所有工作表中的數據合並到一個數據框中:

import collections
import pandas as pd

fn = r'test.xls'
first_sheet_name = 'Sheet1'

df_dict = pd.read_excel(fn, sheetname=None, header=None)
# sort 
df_dict = collections.OrderedDict(sorted(df_dict.items()))

df = pd.concat(df_dict.values())
df.columns = df.iloc[0]
df = df.ix[df.index > 0]

您可能必須分別加載工作表並使用skiprows跳過第一張工作表中的第一行。 不確定是否可以一次性處理紙張。

sheet1 = pd.read_excel('test.xls', sheetname="Sheet1", header=0, skiprows=[0] )

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM