返回特定格式的输入?

2024-05-19 10:09:06 发布

您现在位置:Python中文网/ 问答频道 /正文

现在,我正在熊猫数据框中搜索与某个用户名匹配的条目。它返回的内容如下: {"username":{"0":"user","1":"user","2":"user"},"title":{"0":"Title","1":"asdfasdfasdf","2":"Bob"},"start":{"0":"2020-07-10","1":"2020-07-25","2":"2020-07-10"},"end":{"0":"2020-08-01","1":"2020-07-25","2":"2020-07-11"},"startTime":{"0":"2020-07-25T14:24","1":"2020-07-25T14:25","2":"2020-07-25T19:29"},"endTime":{"0":"2020-07-31T14:24","1":"2020-07-25T14:25","2":"2020-07-25T14:32"},"color":{"0":"#000000","1":"#000000","2":"#ff0000"}}

有没有一种方法可以用另一种格式从熊猫数据帧返回值,比如这样? {username: user, Title: asdsdfs, startTime: 2020-07-25T14:24}, {username: user, Title: asdsdfs, startTime: 2020-07-25T14:24} 很抱歉,如果这是一个非常明显的问题,我这样做是为了学校相关的活动,我需要这个格式的输出,以便我们的另一个程序工作


Tags: 数据内容title格式username条目start用户名
2条回答

以下是如何使用嵌套词典:

d = {"username":{"0":"user","1":"user","2":"user"},
     "title":{"0":"Title","1":"asdfasdfasdf","2":"Bob"},
     "start":{"0":"2020-07-10","1":"2020-07-25","2":"2020-07-10"},
     "end":{"0":"2020-08-01","1":"2020-07-25","2":"2020-07-11"},
     "startTime":{"0":"2020-07-25T14:24","1":"2020-07-25T14:25","2":"2020-07-25T19:29"},
     "endTime":{"0":"2020-07-31T14:24","1":"2020-07-25T14:25","2":"2020-07-25T14:32"},
     "color":{"0":"#000000","1":"#000000","2":"#ff0000"}}

c = [{k:v for k,v in zip(d,i)} for i in zip(*[d[a].values() for a in d])]

print(c)

输出:

[{'username': 'user', 'title': 'Title', 'start': '2020-07-10', 'end': '2020-08-01', 'startTime': '2020-07-25T14:24', 'endTime': '2020-07-31T14:24', 'color': '#000000'},
 {'username': 'user', 'title': 'asdfasdfasdf', 'start': '2020-07-25', 'end': '2020-07-25', 'startTime': '2020-07-25T14:25', 'endTime': '2020-07-25T14:25', 'color': '#000000'},
 {'username': 'user', 'title': 'Bob', 'start': '2020-07-10', 'end': '2020-07-11', 'startTime': '2020-07-25T19:29', 'endTime': '2020-07-25T14:32', 'color': '#ff0000'}]

你也可以这样做:

import pandas as pd
d = pd.DataFrame(d).to_dict(orient='records')
print(d)

[{'username': 'user',
  'title': 'Title',
  'start': '2020-07-10',
  'end': '2020-08-01',
  'startTime': '2020-07-25T14:24',
  'endTime': '2020-07-31T14:24',
  'color': '#000000'},
 {'username': 'user',
  'title': 'asdfasdfasdf',
  'start': '2020-07-25',
  'end': '2020-07-25',
  'startTime': '2020-07-25T14:25',
  'endTime': '2020-07-25T14:25',
  'color': '#000000'},
 {'username': 'user',
  'title': 'Bob',
  'start': '2020-07-10',
  'end': '2020-07-11',
  'startTime': '2020-07-25T19:29',
  'endTime': '2020-07-25T14:32',
  'color': '#ff0000'}]

相关问题 更多 >

    热门问题