是否可以让stdin数据进入pandas DataFrame?
目前我将数据保存在中间json
文件中,然后执行:
pandas.read_json('my_json_file.json')
但是想知道是否可以直接在python脚本中管道stdin。 我发现了这个:How to read from stdin or from a file if no data is piped in Python? 但不知道如何在熊猫DF中逐行插入。
答案 0 :(得分: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