>
팬더와 요청을 사용하여 .CSV 파일을 팬더 데이터 프레임으로 가져 와서 헤더를 반환하는 함수가 있습니다. 훌륭하게 작동합니다.

import pandas as pd
import requests
def getcsvheader(file):
    print('Getting file...')
    res = requests.get(file)
    df = pd.read_csv(io.StringIO(res.text))
    return(df.columns.tolist())

Excel 파일에 대해서도 동일한 작업을 수행하고 싶지만 위의 네 번째 줄을 잘 모르겠습니다. read_csv를 read_excel로 변경하면 다음과 같은 오류가 발생합니다.

TypeError: unsupported operand type(s) for <<: 'str' and 'int'

분명히 엑셀 파일은 텍스트로 읽히지 않기 때문에 (io.StringIO (res.text))를 무엇으로 바꾸어야합니까?

또는 이것을 달성하는 다른 방법이 있습니까? (모든 라이브러리 조합이 가능합니다).

  • 답변 # 1

    팬더는 URL을 사용하고 기본적으로 뛰어납니다. URL의 헤더 행만 필요한 경우 다음을 수행해야합니다.

    import pandas
    URL="https://example.com/test.xlsx"
    def get_excel_headers_from_url(URL)
        return pandas.read_excel(URL).columns.tolist()
    
    

관련 자료

  • 이전 jquery - 완전한 Javascript Promise 오류 처리
  • 다음 varchar 매개 변수가 예상대로 작동하지 않는 SQL Server 저장 프로 시저