- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
Pandas DataFrame 的 to_json
方法正确返回数据。但我无法在下一步中处理它。例如
try:
from StringIO import StringIO
except ImportError:
from io import StringIO
myst="""
20-01-17 pizza 90
21-01-17 pizza 120
22-01-17 pizza 239
23-01-17 pizza 200
20-01-17 fried-rice 100
21-01-17 fried-rice 120
22-01-17 fried-rice 110
23-01-17 fried-rice 190
20-01-17 ice-cream 8
21-01-17 ice-cream 23
22-01-17 ice-cream 21
23-01-17 ice-cream 100
"""
u_cols=['date', 'product', 'sales']
myf = StringIO(myst)
import pandas as pd
df = pd.read_csv(StringIO(myst), sep='\s+', names = u_cols)
下一步是将数据导出为 JSON,以便导入到 Elasticsearch 中。
tmp=df.to_json(orient="records")
import json
json.loads(tmp)
这将返回以下(无效 JSON)输出:
[{'date': '20-01-17', 'product': 'pizza', 'sales': 90},
{'date': '21-01-17', 'product': 'pizza', 'sales': 120},
{'date': '22-01-17', 'product': 'pizza', 'sales': 239},
{'date': '23-01-17', 'product': 'pizza', 'sales': 200},
{'date': '20-01-17', 'product': 'fried-rice', 'sales': 100},
{'date': '21-01-17', 'product': 'fried-rice', 'sales': 120},
{'date': '22-01-17', 'product': 'fried-rice', 'sales': 110},
{'date': '23-01-17', 'product': 'fried-rice', 'sales': 190},
{'date': '20-01-17', 'product': 'ice-cream', 'sales': 8},
{'date': '21-01-17', 'product': 'ice-cream', 'sales': 23},
{'date': '22-01-17', 'product': 'ice-cream', 'sales': 21},
{'date': '23-01-17', 'product': 'ice-cream', 'sales': 100}]
Elastic 似乎不喜欢单引号。如何在双引号中获得与上面相同的输出?
最佳答案
不确定它是否有帮助,但在代码后面添加类似的内容
from elasticsearch import Elasticsearch
from elasticsearch.helpers import bulk
es = Elasticsearch()
actions = [
{
'_index' : 'transactions',
'_type' : 'content',
'_date' : rec['date'],
'_product' : rec['product'],
'_sales' : rec['sales'],
}
for rec in json.loads(tmp)
]
bulk(es, actions)
应该允许创建索引。
关于python - pandas to_json 输出用双引号括起来,以提供给 Elasticsearch,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48421509/
我正在尝试执行 vagrant up 但一直遇到此错误: ==> default: IOError: [Errno 13] Permission denied: '/usr/local/lib/pyt
我在容器 div 中有一系列动态创建的不同高度的 div。 Varying text... Varying text... Varying text... Varying text.
通过 cygwin 运行 vagrant up 时遇到以下错误。 stderr: /bin/bash: /home/vagrant/.ansible/tmp/ansible-tmp-14872260
今天要向小伙伴们介绍的是一个能够快速地把数据制作成可视化、交互页面的 Python 框架:Streamlit,分分钟让你的数据动起来! 犹记得我在做机器学习和数据分析方面的毕设时,
我是 vagrant 的新手,正在尝试将第二个磁盘添加到我正在用 vagrant 制作的虚拟机中。 我想出了如何在第一次启动虚拟机时连接磁盘,但是当我关闭机器时 然后再次备份(使用 'vagrant
我是一名优秀的程序员,十分优秀!