python中pandas有误_如何解决Python/Pandas中的关键错误?

在Python中尝试处理两个相似的文本文件时遇到问题。程序能够成功读取并解析文件,但在将数据转换为DataFrame时,对于其中一个文件触发了KeyError: 'text'。这表明在某个tweet对象中缺少'text'键。代码尝试提取'text'、'lang'和'country'字段,同时计算文本情感平均极性。解决方案可能涉及检查数据源的完整性和一致性。
摘要由CSDN通过智能技术生成

我有两个文本文件要使用熊猫。这些文件是以完全相同的方式创建的,并且非常相似,除了其中的一些内容。但是,我的程序不处理其中一个文本文件,而是处理另一个文本文件。这是我的错误:Traceback (most recent call last):

File "E:\Holiday Project\Politic\store.py", line 19, in

tweets['text'] = list(map(lambda tweet: tweet['text'], tweets_data))

File "E:\Holiday Project\Politic\store.py", line 19, in

tweets['text'] = list(map(lambda tweet: tweet['text'], tweets_data))

KeyError: 'text'

这是我的代码:import json

import pandas as pd

from textblob import TextBlob

tweets_data_path = 'filename.txt'

tweets_data = []

tweets_file = open(tweets_data_path, "r")

for line in tweets_file:

try:

tweet = json.loads(line)

tweets_data.append(tweet)

except:

continue

print (len(tweets_data))

tweets = pd.DataFrame()

tweets['text'] = list(map(lambda tweet: tweet['text'], tweets_data))

tweets['lang'] = list(map(lambda tweet: tweet['lang'], tweets_data))

tweets['country'] = list(map(lambda tweet: tweet['place']['country'] if tweet['place'] != None else None, tweets_data))

avg = 0

for lol in tweets['text']:

tweet = TextBlob(text)

avg = tweet.sentiment.polarity + avg

avg = avg/len(tweets)

print(avg)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值