我想读取.xlsx文件作为pandas dataframe从FTP连接,但我想这样做内存,而不写.xlsx到我的本地磁盘。
以下是我的当前代码:
import ftplib
import pandas as pd
from io import BytesIO
ftp = ftplib.FTP("host")
ftp.login("ftp_111", "hs12121")
ftp.dir()
listff = ftp.nlst()
flo = BytesIO()
for filename in listff:
try:
ftp.retrbinary('RETR ' + filename, flo.write, 1024)
flo.seek(0)
df = pd.read_excel(flo)
except Exception as e:
print("An exception occurred: ", e)
字符串
KeyError:“存档中没有名为'xl/sharedStrings.xml'的项目”
怎么解决呢?
1条答案
按热度按时间at0kjp5o1#
我猜你会在第二次迭代中得到错误,因为你没有在
ftp.retrbinary
之前重置flo
。我建议您在调用ftp.retrbinary
之前移动flo = BytesIO()
:字符串
[blocksize=]1024
-它的意义是什么?)*