如何通过url python下载xlsx文件的第一行

问题描述 投票:0回答:1

我曾经使用requests lib通过url加载单行:

import requests

def get_line(url):
    resp = requests.get(url, stream=True)
    for line in resp.iter_lines(decode_unicode=True):
        yield line

line = get_line(url)
print(next(line))

一个文本文件完美加载。但是,如果我要加载.xlsx,结果看起来像是无法打印的符号:

PK [symbols] [Content_Types].xml [symbols]

是否有加载单行单元格的方法?

python python-3.x excel python-requests xlsx
1个回答
3
投票

您不能只读取原始的HTTP响应并寻找特定的Excel数据。为了获得正确格式的xlsx文件内容,您需要使用适当的库。

xlrd是常见的库之一,可以通过pip进行安装:

sudo pip3 install xlrd

示例:

import requests
import xlrd

example_url = 'http://www.excel-easy.com/examples/excel-files/fibonacci-sequence.xlsx'
r = requests.get(example_url)  # make an HTTP request

workbook = xlrd.open_workbook(file_contents=r.content)  # open workbook
worksheet = workbook.sheet_by_index(0)  # get first sheet
first_row = worksheet.row(0)  # you can iterate over rows of a worksheet as well

print(first_row)  # list of cells

xlrd documentation


如果您希望能够逐行读取数据,则应切换为更简单的数据表示格式,例如。csv或简单的文本文件。

© www.soinside.com 2019 - 2024. All rights reserved.