首页 > 解决方案 > 在数据框中获取 json 值

问题描述

api.search 关键字挖掘。这是我的 tweepy 代码

for i in tweepy.Cursor(api.search,q="kurir pos",tweet_mode="extended").items(10):
    author.append(i.author)
    contributors.append(i.contributors)

如您所见,他们在数据框中向我们返回 json。您可以看到用户名在 json.screen_name 数据框用户名的第 1

我已经可以通过使用获取 screen_name

for i in df.iterrows():
    x = df['user']
    for j in x:
        y = [j.screen_name]
        print(y)

结果是

['kring_pajak']
['kring_pajak']
['ManoharaSekar']
['kbrindns']

在我的 pycharm 控制台变量中,y仅返回循环的最后一个值,因此它与我的print结果不同,我尝试类似

y = j.[screen_name]
h = pd.DataFrame(y)

但是遇到了错误 ValueError: DataFrame constructor not properly called!

我也尝试 append,to_dataframe 但出现错误。谁能告诉我如何更改 tweepy 以便我可以获取用户名,或者我非常感谢将变量更改y为数据帧

标签: pythonjsontweepy

解决方案


不完全清楚您在寻找什么,但他构建了一个包含唯一用户名的小型数据框。

username = set()
for tweet in Cursor(api.search,q="kurir pos",tweet_mode="extended").items(10):
    print(tweet.user.screen_name)
    username.add(tweet.user.screen_name)

df = pd.DataFrame(list(username), columns=['username'])
df

        username
0       mas_pos_
1    kring_pajak
2      Tokokopii
3     yeolmoonie
4  dittaafebrian

推荐阅读