1

次のタスクがあります: 1) いくつかのスプレッドシートを含む Excel ファイルがあります。これらのスプレッドシートから、列「A:CU」、行 41 ~ 51 からの情報が必要です。データベースを作成します。3) どのスプレッドシート データから収集されたかを示す列が必要です。

私は次のことをしました:

import pandas as pd
file='January2020.xlsx'
#getting info from spreadsheets C(1), C(2) and so on
days = range(1,32)
sheets = []
for day in days:
    sheets.append('C(' + str(day)+')')
#importing data
all_sales=pd.read_excel(file,header=None,skiprows=41, usecols="A:CU", sheet_name=sheets,
                skipfooter=10)

今私は collections.OrderedDict を持っていて、それを dataFrame に入れるのに苦労しています。

ここに画像の説明を入力

私が持っている必要があるのは、次のようなデータフレームです: ここに画像の説明を入力

4

2 に答える 2

1

試すpd.concat

df = pd.concat(all_sales, ignore_index = True) 
于 2020-03-02T09:44:49.583 に答える
0

私はこのコードを使用しましたが、うまくいきました:

file='January2020.xlsx'
days = range(1,32)
all_sales=pd.DataFrame()
df = pd.DataFrame()
all_df = []
for day in days:
    sheet_name = "C("+str(day)+")"
    all_sales=pd.read_excel(file,header=None,skiprows=41,usecols="A:CU", sheet_name=sheet_name,
                skipfooter=10)
    all_sales["Date"] = sheet_name
    all_df.append(all_sales)
df_final = pd.concat(all_df)

于 2020-03-03T10:45:37.320 に答える