注意:我已经按照以下方法解决了这个问题:
我可以使用to_csv在python / pandas中写入标准输出。像这样的东西工作正常:
final_df.to_csv(sys.stdout, index=False)
我想读取一个实际的excel文件(而不是csv)。我想输出CSV,但输入xlsx。我有这个文件
bls_df = pd.read_excel(sys.stdin, sheet_name="MSA_dl", index_col=None)
但这似乎不起作用。是否可以做我正在尝试的事情,如果可以,怎么做?
注意:
我这样下载并提取数据文件:
curl -o oesm18ma.zip'https://www.bls.gov/oes/special.requests/oesm18ma.zip'
7z x oesm18ma.zip
我已经用脚本test01.py解决了以下问题,该脚本从stdin读取并写入stdout。注意在read_excel()调用中使用 sys.stdin.buffer 。
导入系统 导入操作系统 将熊猫作为pd导入
BLS_DF = pd.read_excel(sys.stdin.buffer,sheet_name =“ MSA_dl”,index_col = None)
BLS_DF.to_csv(sys.stdout,index = False)
我将其调用为:
cat MSA_M2018_dl.xlsx | python3 test01.py
这是一个小型测试程序,用于在消除复杂性的同时说明该想法。这不是我正在处理的实际程序。