如何解决/Python/Pandas中的关键错误是什么?

如何解决/Python/Pandas中的关键错误是什么?,python,pandas,Python,Pandas,我有两个文本文件,我希望使用熊猫。这些文件是以完全相同的方式创建的,除了其中的一些内容外,它们非常相似。但是,我的程序不能处理其中一个文本文件,但可以处理另一个文本文件。这是我的错误: Traceback (most recent call last): File "E:\Holiday Project\Politic\store.py", line 19, in <module> tweets['text'] = list(map(lambda tweet: tweet

我有两个文本文件,我希望使用熊猫。这些文件是以完全相同的方式创建的,除了其中的一些内容外,它们非常相似。但是,我的程序不能处理其中一个文本文件,但可以处理另一个文本文件。这是我的错误:

Traceback (most recent call last):
  File "E:\Holiday Project\Politic\store.py", line 19, in <module>
    tweets['text'] = list(map(lambda tweet: tweet['text'], tweets_data))
  File "E:\Holiday Project\Politic\store.py", line 19, in <lambda>
    tweets['text'] = list(map(lambda tweet: tweet['text'], tweets_data))
KeyError: 'text'

tweet['text']似乎不存在。尝试访问哈希映射/字典中不存在的密钥时,会生成密钥错误。比如说

myDict = {"hello": 1, "there": 2}
print myDict["hello"] #this prints 1
print myDict["friend"] #this will generate a key error because it does not exist

您应该添加与上一个类别相同的条件,以跳过“无文本”的情况。

查看以下几行:

tweets = pd.DataFrame()
tweets['text'] = list(map(lambda tweet: tweet['text'], tweets_data))
您可能试图提取一些字典中不存在的tweet['text']。如果“文本”字段仅存在于正在加载的某些行中,则您可能需要这样写:

tweets = pd.DataFrame()
tweets['text'] = [tweet.get('text','') for tweet in tweets_data]
tweets['lang'] = [tweet.get('lang','') for tweet in tweets_data]
#and so on...

如果由于某种原因,在某些JSON中“文本”不存在,您将在数据框中得到“”。

您确定
tweet\u data
是一个字典并且包含
text
键吗?尝试通过复制代码和显示应该更改的内容来详细说明更多内容
tweets = pd.DataFrame()
tweets['text'] = [tweet.get('text','') for tweet in tweets_data]
tweets['lang'] = [tweet.get('lang','') for tweet in tweets_data]
#and so on...