Próbuję odczytać strumieniowany plik xlsx. Użytkownik wprowadza dane za pomocą interfejsu użytkownika, a następnie dane są przekazywane do mnie za pośrednictwem strumieniowania w xlsx. Jak to czytam? Nie mogłem znaleźć żadnej dokumentacji.
cat text.xlsx | python myprogram.py
Jak mogę przeczytać ten strumień? Każda pomoc byłaby doceniana. Nie jestem pewien, czy openpyxl pozwala na taki odczyt. Używam python3
Odpowiedzi:
0 dla odpowiedzi № 1openpyxl.load_workbook
"pierwszy argument filename
może być nie tylko nazwą pliku, ale także obiektem podobnym do pliku i sys.stdin
jest obiektem podobnym do pliku reprezentującym standardowe wejście programu.
Potrzebujesz go jednak w trybie binarnym, patrz uwaga w dokumentach dotycząca standardowych strumieni binarnych.
import sys
from openpyxl import load_workbook
wb = load_workbook(sys.stdin.buffer)
print(wb.sheetnames)
Biegać:
$ cat test.xlsx | python test.py
["Sheet1", "Sheet2"]