首页 文章

使用请求和pandas获取远程excel文件的标头

提问于
浏览 1528
1

我有一个函数,使用pandas和请求,将.CSV文件拉入pandas数据帧并返回标头 . 效果很好,即

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'

显然因为excel文件不能读作文本,所以(io.StringIO(res.text))需要用某些东西替换,但是用什么?

或者还有另一种方法来实现这一目标吗? (任何库的组合都可以) .

1 回答

  • 0

    pandas可以使用URL和excel本地 . 如果你只需要一个URL的 Headers 行,这应该可以让你:

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

相关问题