簡體   English   中英

如何使用openpyxl讀取xlsx流文件

[英]how to read a xlsx stream file using openpyxl

我正在嘗試讀取流式 xlsx 文件。 用戶通過用戶界面輸入數據,然后數據通過 xlsx 中的流傳遞給我。 我怎么讀? 我找不到任何文檔。

貓文本.xlsx | 蟒蛇我的程序.py

我如何閱讀這個流? 任何幫助將不勝感激。 我不確定 openpyxl 是否允許讀取。 我正在使用 python3

openpyxl.load_workbook的第一個參數filename不僅可以是文件名,還可以是類文件對象,而sys.stdin是表示程序標准輸入的類文件對象。

不過,您需要在二進制模式下使用它,請參閱有關二進制標准流的文檔中的注釋。

import sys
from openpyxl import load_workbook

wb = load_workbook(sys.stdin.buffer)
print(wb.sheetnames)

運行:

$ cat test.xlsx | python test.py
['Sheet1', 'Sheet2']

我沒有足夠的代表發表評論,因此我將其發布為答案。

正如@CheradenineZK 所提到的,如果輸入來自(Azure)blob 存儲,則需要將其包裝在字節緩沖區中。 我一直在努力弄清楚如何做到這一點......

import io
import openpyxl

bytes_in = io.BytesIO(myblob.read())
wb = openpyxl.load_workbook(bytes_in)

正在為我做伎倆。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM