programing tip

pandas를 사용하여 파이썬으로 Excel 파일 읽기

itbloger 2020. 6. 28. 19:14
반응형

pandas를 사용하여 파이썬으로 Excel 파일 읽기


이 방법으로 Excel 파일을 읽으려고합니다.

newFile = pd.ExcelFile(PATH\FileName.xlsx)
ParsedData = pd.io.parsers.ExcelFile.parse(newFile)

두 가지 인수가 예상된다는 오류가 발생합니다. 두 번째 인수가 무엇인지 모르고 여기에서 달성하려는 것은 Excel 파일을 DataFrame으로 변환하는 것입니다. 올바른 방법입니까? 아니면 팬더를 사용하여 다른 방법이 있습니까?


닫기 : 먼저을 호출 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 번째 열 sheet1.iloc[i,:]을 가져 오고 i 번째 행 을 얻는 데 사용할 수 있습니다 .


나는 이것이 당신의 필요를 충족시켜야한다고 생각합니다.

import pandas as pd

# Read the excel sheet to pandas dataframe
DataFrame = pd.read_excel("PATH\FileName.xlsx", sheetname=0)

파일의 경로를 pd.read_excel

import pandas as pd

file_path = "./my_excel.xlsx"
data_frame = pd.read_excel(file_path)

체크 아웃 문서를 같은 매개 변수를 탐험하기 위해 skiprows엑셀을로드 할 때 행을 무시


import pandas as pd

data = pd.read_excel (r'**YourPath**.xlsx')

print (data)

Here is an updated method with syntax that is more common in python code. It also prevents you from opening the same file multiple times.

import pandas as pd

sheet1, sheet2 = None, None
with pd.ExcelFile("PATH\FileName.xlsx") as reader:
    sheet1 = pd.read_excel(reader, sheet_name='Sheet1')
    sheet2 = pd.read_excel(reader, sheet_name='Sheet2')

https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_excel.html

참고URL : https://stackoverflow.com/questions/17063458/reading-an-excel-file-in-python-using-pandas

반응형