我是写论文需要利用Python实现以下功能:调用百度AIP对Excel中的一列文本进行情感分析,我的代码可以正常运行,但是输出的结果全是调用AIP失败,请问这是什么原因造成的呢?我在网上搜了一下,他们说可能是编码格式的问题,但我将Excel转换成UTF-8的格式还是失败了,所以找不到问题出在哪。因为我是为了写论文才学习使用的Python,所以基本没有啥理论基础,还希望各位可以热心帮助我解答一下疑惑,谢谢!
我的代码:
import pandas as pd
import time
from aip import AipNlp
# 设置百度API的参数
APP_ID = '33283190'
API_KEY = '这里也隐藏一下'
SECRET_KEY = '这里密码我隐藏一下'
client = AipNlp(APP_ID, API_KEY, SECRET_KEY)
# 读取Excel文件
df = pd.read_excel('实验数据 - 副本.xlsx')
# 将编码格式改为UTF-8
df = df.astype(str).applymap(lambda x: x.encode('utf-8').decode('utf-8'))
# 定义情感分析函数
def sentiment_analysis(text):
if len(text) > 2048:
return '字数超过上限'
else:
result = client.sentimentClassify(text)
if 'items' in result:
return result['items'][0]['sentiment']
else:
return '未知'
# 对第三列进行情感分析,并将结果添加到新的一列中
df['情感分析结果'] = df['回答内容'].apply(lambda x: sentiment_analysis(x))
time.sleep(1) # 设置延时,避免遭到访问限制
# 将结果保存到原Excel文件中
df.to_excel('your_excel_file.xlsx', index=False)
我的输出结果:
怎么在您代码中没有看到 items 变量的定义哦,运行不报错?