【发布时间】:2021-01-11 21:46:19
【问题描述】:
所以我有一个包含 600.000 条推文的大型 JSON 文件。 在这些推文中,我需要知道确切的位置。 我通过运行以下代码来执行此操作,我将在其中加载前 40000 条推文。 tweets_data 是加载的 JSON 文件。
test_tweets = tweets_data[:40000]
import pandas as pd
tweets = pd.DataFrame()
tweets['text'] = list(map(lambda tweet: tweet['text'], test_tweets))
tweets['lang'] = list(map(lambda tweet: tweet['lang'], test_tweets))
tweets['country'] = list(map(lambda tweet: tweet['place']['country'] if tweet['place'] != None else None, test_tweets))
tweets['coordinates'] = list(map(lambda tweet: tweet['place']['bounding_box']['coordinates'], test_tweets))
我在最后一行得到一个错误,指出:
TypeError Traceback (most recent call last)
<ipython-input-12-87ebee84f083> in <module>
9 tweets['lang'] = list(map(lambda tweet: tweet['lang'], test_tweets))
10 tweets['country'] = list(map(lambda tweet: tweet['place']['country'] if tweet['place'] != None else None, test_tweets))
---> 11 tweets['coordinates'] = list(map(lambda tweet: tweet['place']['bounding_box']['coordinates'], test_tweets))
12
13
<ipython-input-12-87ebee84f083> in <lambda>(tweet)
9 tweets['lang'] = list(map(lambda tweet: tweet['lang'], test_tweets))
10 tweets['country'] = list(map(lambda tweet: tweet['place']['country'] if tweet['place'] != None else None, test_tweets))
---> 11 tweets['coordinates'] = list(map(lambda tweet: tweet['place']['bounding_box']['coordinates'], test_tweets))
12
13
TypeError: 'NoneType' object is not subscriptable
我认为这是因为缺少一些坐标数据,但我不确定。我不介意删除几行,但我不知道该怎么做。
任何帮助将不胜感激!
【问题讨论】:
-
你能提供一些示例推文吗?最好只使用其构造函数创建 DataFrame,但我需要知道推文的格式以帮助您
标签: python json pandas twitter