如何从一个非常大的嵌套列表创建列?

时间:2018-03-12 19:04:32

标签: python pandas dataframe data-science

好吧,所以我有一个文本文件,我已经导入到python中并且有一些难以理解,因为其中的数据来自使用包装器的api,在线阅读之后,我加载了它以下方式:

save_path = 'C:/path'
name_of_file = "all_transactions"
completename = os.path.join(save_path, name_of_file+ '.txt')
raw_file = io.open(completename, 'r', encoding= "utf-8" )

现在好像加载了。这就是它的样子:

 49021
 <class 'list'>
 ["{'cursor':'longcode'    'currency': 'USD'},\n", "                                'card_details': {'card': {'billing_address': None,\n", "  

&#39;列表&#39;很长很多,其中有很多标题。当我把它放入pandas DataFrame时,这就是我得到的:

                                                       0
0      {'cursor': 'CAESzgEaGQoNOFJYS1lFMlg2WlBUUBABEA...
1                                      'errors': None,\n
2                 'transactions': [{'client_id': None,\n
3                         'created_at': '2018-03-12T1...

一列下去到49020行。 &#39;交易&#39;和&#39;光标&#39;是我相信的两把钥匙。我需要像在列标题中创建的其他项目,以及在行中创建的数据,如下所示:

created_at customer_id
alldates   theidshere
...        ...
...        ...

我真的不知道该怎么做,我已经尝试过搜遍

请帮忙! 感谢

1 个答案:

答案 0 :(得分:0)

首先,看起来你有json数据。 http://www.json.org/ Python有一个用于加载数据的内置库。 https://docs.python.org/3.6/library/json.html

要加载它,代码看起来像这样

import json
with open(completename, 'r') as f:
  data = json.load(f)

现在获取所有列名称,您可以查看每个对象并聚合其键

column_names = set()
for item in data:
  for column in item:
    column_names.add(column)

之后,所有列名都将在column_names集中