7

panda のおかげで、"read_excel" 関数を使用してシート全体をデータ フレームに読み込むことができました。

xlwings を使用して同じ方法を使用したいと思います。実際、私のワークブックはすでに開いており、 read_excel 関数を使用したくありません (ちなみに、魔女は実行に時間がかかりすぎます) が、xlwings の機能を使用してシート全体をデータフレームに保存します。

実際、xlwings を使用すると、範囲をデータフレームに保存できます。つまり、範囲サイズを知る必要があります。しかし、それを行うためのより良い(そしてより速い!)方法があると思いますよね?

それを行うためのアイデアはありますか?どうもありがとう !

編集: read_excel が行うように、データフレームに転送したい 1 つのシートの例。

Name Point  Time    Power   Test1   Test2   Test3   Test4 ##
Test    0   1   10  4   24  144
        2   20  8   48  288
        3   30  12  72  432
        4   40  16  96  576
        5   50  20  120 720
        6   60  24  144 864
        7   70  28  168 1008
        8   80  32  192 1152
        9   90  36  216 1296
        10  100 40  240 1440
        11  110 44  264 1584
        12  120 48  288 1728
4

5 に答える 5

4

実際、私はそのようなことをすることができました:

import xlwings as xw
import pandas as pd

def GetDataFrame(Sheet,N,M):
    wb = xw.Workbook.active()
    Data=xw.Range(Sheet,(1,1),(N,M)).value
    Data=pd.DataFrame(Data)
    Data=Data.dropna(how='all',axis=1)
    Data=Data.dropna(how='all',axis=0)
    return Data
于 2015-12-23T08:04:14.610 に答える
4

パンダを使用して複数のシートから読み取ることができます。

excel_file = pd.ExcelFile('myfile.xls')
df1 = excel_file.parse('Sheet1')
df2 = excel_file.parse('Sheet2') 

したがって、ファイルを次々に開き、必要なシートから読み取り、データ フレームを処理するだけです。

于 2015-12-22T10:33:48.073 に答える