【发布时间】:2019-09-25 15:04:51
【问题描述】:
我正在寻找一个 Python 代码实现来将 Pandas Dataframe 转换为下面提到的格式的json 文件。
输入 Python 数据框如下所示 (input_data - dataframe name)
stateacttraf |stateno | statename | actno | actname | traffic | reward | id | message
stateacttraf | 1 | S1 | 1 | A1 | 22 | 3 | 234569 | stateactsplit
stateacttraf | 1 | S1 | 2 | A2 | 30 | 4 | 234569 | stateactsplit
stateacttraf | 1 | S1 | 3 | A3 | 48 | 2.3 | 234569 | stateactsplit
stateacttraf | 2 | S2 | 1 | A1 | 13 | 4.1 | 234569 | stateactsplit
stateacttraf | 2 | S2 | 2 | A2 | 27 | 8.2 | 234569 | stateactsplit
stateacttraf | 2 | S2 | 3 | A3 | 60 | 5.6 | 234569 | stateactsplit
Dataframe 应该类似于以下 json 格式的示例,需要在 kafka 中发布:
预期的 json 输出示例:
{
"stateacttraf": "1, S1, 1 , A1 , 24.5,3 \n
1, S1, 2 , A2 , 25.5,4 \n
1, S1, 3 , A3 , 20,2.3 \n
2, S2, 1 , A1 , 10,4.1 \n
2, S2, 2 , A2 , 10,8.2 \n
2, S2, 2 , A2 , 10,5.6 \n",
"message": "stateactsplit",
"id": 234569
}
在示例输出中\n 只是表示这些(1, S1, 2 , A2 , 25.5,4) 的每一行都应打印在新行中。
尝试使用input_data.to_json(orient='index', lines=True),但每行中的每个值都会重复列名。
【问题讨论】:
-
这不是一个好的
json格式。 Working with JSON -
@Trenton_M 不幸的是,这是我收到的以该格式实施的要求。
-
这真的很不幸,但看起来有人提供了解决方案。
标签: python json dataframe apache-kafka