来自stdin的熊猫数据

Fra*_*Fra 14 python json stdin pandas

是否有可能让stdin数据进入pandas DataFrame?

目前我将数据保存在一个中间json文件中然后执行:

pandas.read_json('my_json_file.json')
Run Code Online (Sandbox Code Playgroud)

但是想知道是否可以直接在python脚本中管道stdin.我发现了这个:如果在Python中没有数据传输,如何从stdin或文件中读取? 但不知道如何在熊猫DF中逐行插入.

Vik*_*kez 19

只需使用它sys.stdin作为一个file对象(实际上是它)并将其传递给pandas read_xy方法.

$ cat test.py
import sys
import pandas as pd

df = pd.read_json(sys.stdin)
print df

$ cat data.json
{"a": [1,2,3,4], "b":[3,4,5,6]}

$ python test.py < data.json
   a  b
0  1  3
1  2  4
2  3  5
3  4  6
Run Code Online (Sandbox Code Playgroud)