この方法でExcelファイルを読み込もうとしています:
newFile = pd.ExcelFile(PATH\FileName.xlsx)
ParsedData = pd.io.parsers.ExcelFile.parse(newFile)
これは、2 つの引数が期待されるというエラーをスローします。または、パンダを使用してこれを行う他の方法はありますか?
この方法でExcelファイルを読み込もうとしています:
newFile = pd.ExcelFile(PATH\FileName.xlsx)
ParsedData = pd.io.parsers.ExcelFile.parse(newFile)
これは、2 つの引数が期待されるというエラーをスローします。または、パンダを使用してこれを行う他の方法はありますか?
閉じる: 最初に を呼び出しますExcelFile
が、次に.parse
メソッドを呼び出してシート名を渡します。
>>> xl = pd.ExcelFile("dummydata.xlsx")
>>> xl.sheet_names
[u'Sheet1', u'Sheet2', u'Sheet3']
>>> df = xl.parse("Sheet1")
>>> df.head()
Tid dummy1 dummy2 dummy3 dummy4 dummy5 \
0 2006-09-01 00:00:00 0 5.894611 0.605211 3.842871 8.265307
1 2006-09-01 01:00:00 0 5.712107 0.605211 3.416617 8.301360
2 2006-09-01 02:00:00 0 5.105300 0.605211 3.090865 8.335395
3 2006-09-01 03:00:00 0 4.098209 0.605211 3.198452 8.170187
4 2006-09-01 04:00:00 0 3.338196 0.605211 2.970015 7.765058
dummy6 dummy7 dummy8 dummy9
0 0.623354 0 2.579108 2.681728
1 0.554211 0 7.210000 3.028614
2 0.567841 0 6.940000 3.644147
3 0.581470 0 6.630000 4.016155
4 0.595100 0 6.350000 3.974442
あなたがしているのは、インスタンスではなく、クラス自体に存在するメソッドを呼び出すことです。これは問題ありませんが (あまり慣用的ではありません)、そうしている場合は、シート名も渡す必要があります。
>>> parsed = pd.io.parsers.ExcelFile.parse(xl, "Sheet1")
>>> parsed.columns
Index([u'Tid', u'dummy1', u'dummy2', u'dummy3', u'dummy4', u'dummy5', u'dummy6', u'dummy7', u'dummy8', u'dummy9'], dtype=object)
これは非常にシンプルで簡単な方法です。
import pandas
df = pandas.read_excel(open('your_xls_xlsx_filename','rb'), sheetname='Sheet 1')
# or using sheet index starting 0
df = pandas.read_excel(open('your_xls_xlsx_filename','rb'), sheetname=2)
ドキュメントの詳細を確認してください http://pandas.pydata.org/pandas-docs/version/0.17.1/generated/pandas.read_excel.html
FutureWarning: このsheetname
キーワードは新しい Pandas バージョンでは非推奨ですsheet_name
。代わりに使用してください。
行または列にアクセスしてループする場合は、次のようにします。
import pandas as pd
# open the file
xlsx = pd.ExcelFile("PATH\FileName.xlsx")
# get the first sheet as an object
sheet1 = xlsx.parse(0)
# get the first column as a list you can loop through
# where the is 0 in the code below change to the row or column number you want
column = sheet1.icol(0).real
# get the first row as a list you can loop through
row = sheet1.irow(0).real
編集:
メソッドicol(i)
とirow(i)
は現在非推奨です。sheet1.iloc[:,i]
i 番目の列とi 番目の行を取得するために使用できますsheet1.iloc[i,:]
。
import pandas as pd
data = pd.read_excel (r'**YourPath**.xlsx')
print (data)