Python-将字符串数据转换为数据框

时间:2018-06-22 01:32:59

标签: python

我已经调用了某些API,并且具有以下字符串返回数据格式。

{'data': {'totalItems': 2,
  'startDate': '2017-09-28 ',
  'endDate': '2017-10-01 ',
  'items': [{'IDNum': '763192',
    'url': 'https://www.mask.com/api/v1/763192',
    'JoinDate': '2017-09-30'},
   {'IDNum': '763193',
    'url': 'https://www.mask.com/api/v1/763192',
    'JoinDate': '2017-09-29'}]}}

我想将此字符串转换为以IDNum,url和JoinDate作为标题的表格/数据框格式。

我尝试将熊猫转换为CSV,但所有内容都显示在一个单元格中。

谢谢。

2 个答案:

答案 0 :(得分:1)

如果您有字符串

s = """{'data': {'totalItems': 2,
  'startDate': '2017-09-28 ',
  'endDate': '2017-10-01 ',
  'items': [{'IDNum': '763192',
    'url': 'https://www.mask.com/api/v1/763192',
    'JoinDate': '2017-09-30'},
   {'IDNum': '763193',
    'url': 'https://www.mask.com/api/v1/763192',
    'JoinDate': '2017-09-29'}]}}"""

您可以使用ast.literal_eval来获取字典,使用pandas来获取df

import ast

pd.DataFrame(ast.literal_eval(s)['data']['items'])


    IDNum   JoinDate    url
0   763192  2017-09-30  https://www.mask.com/api/v1/763192
1   763193  2017-09-29  https://www.mask.com/api/v1/763192

答案 1 :(得分:0)

看起来您只想转换数据结构的部分

pd.DataFrame(data['data']['items'])
#    IDNum    JoinDate                                 url
#0  763192  2017-09-30  https://www.mask.com/api/v1/763192
#1  763193  2017-09-29  https://www.mask.com/api/v1/763192