在空数据帧上设置列

时间:2017-09-18 05:32:26

标签: json python-3.x dataframe

我正在从文本文件中读取json数组,然后创建一个空数据帧。我想在空数据框中添加一个新列'id'。 'id'来自文本文件中的json数组。

错误消息显示“无法设置没有定义索引的帧和可以转换为系列的值”。我试图通过预先定义数据帧大小来克服这个错误,这没有帮助。有什么想法吗?

import json
import pandas as pd

path = 'my/path'
mydata = []
myfile = open(path, "r")

for line in myfile:
    try:
        myline = json.loads(line)
        mydata.append(myline)
    except:
        continue

mydf = pd.DataFrame()
mydf['id'] = map(lambda myline: myline['id'], mydata)

1 个答案:

答案 0 :(得分:0)

我认为更好用:

for line in myfile:
    try:
        #extract only id to list
        myline = json.loads(line)['id']
        mydata.append(myline)
    except:
        continue

print (mydata)
[10, 5]

#create DataFrame by constructor
mydf = pd.DataFrame({'id':mydata})
print (mydf)
   id
0  10
1   5