複数のシートを含むブックをループとPythonの値を抽出します

Tamarie:

私は複数のワークブックのExcel spreedsheetを持ち、それぞれのワークブックには、以下の属性があります。

data = pd.DataFrame({
'start date': ['1988/01/12', '1988/01/13', '1988/01/14', '1989/01/20','1990/01/01'],
'end date': ['1989/01/12', '1989/01/12', '1989/01/12', '1990/01/20','1991/01/01'],
'value': [11558522, 12323552, NaN, 18412280, NaN]
}) 

私は、ブック内の各シートをループにしたいと:

  1. シート名を取得します(これはまたsheet0のIDです
  2. 分の日付を取得(そのシートが始まったときに確認してください)
  3. 最大日付を取得(そのシートが終了したときに確認してください)
  4. そのシートに欠損値の数をカウントする(値カラムbasesdのみ)

私はiIhaveシート名(ID)は、日付、終了日付と、このような欠損値の数を開始し、要約spreedsheet /データフレームをしたいです:

data = pd.DataFrame({
sheet name': ['sheet 1', 'sheet 2', 'sheet 3', 'sheet 4','sheet5'],
'start date': ['1988/01/12', '1988/01/13', '1988/01/14', '1989/01/20','1990/01/01'],
'end date': ['1989/01/12', '1989/01/12', '1989/01/12', '1990/01/20','1991/01/01'],
'missing values': [3, 10, 1, 43, 8]
}) 
エズレル:

使用sheet_name中のread_excel日付時刻にデータフレーム、変換列のorderdictへのすべてのシートのためとは、最小と最大取得し、でmisisng値の数をカウントするsumことで作成されたマスクのSeries.isnaリストに、最後に追記し、最後の新しい作成するDataFrameコンストラクタによって:

L = []
for s, df in pd.read_excel('test.xlsx', sheet_name=None).items():
    d = {'sheet name': s, 
         'start date': pd.to_datetime(df['start date']).min(),
         'end date': pd.to_datetime(df['end date']).max(),
         'missing values':df['value'].isna().sum()}
    L.append(d)

df1 = pd.DataFrame(L)

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=14980&siteId=1