[英]No module named 'ibm_watson.natural_language_understanding_v3'
[英]Python - Making IBM Natural Language Understanding API analyze each row of a csv file
我正在使用 IBM Watson Natural Language Understanding 的 API 来执行一些情感分析。 我遵循了文档,并且能够分析我在代码中输入的 url 或一些文本。
但是,我不想分析一些文本,而是希望 IBM NLU 分析 csv 文件。 每行是一个不同的文本,应该被分析,output 应该是相同的 csv 文件,在相关文本旁边的另一列中具有情感和情感分析的值。
我想这可以通过 json 和一些 Python 循环来完成,但它确实超出了我在 Python 中的新技能。
目前,我有以下代码:
import json
from ibm_watson import NaturalLanguageUnderstandingV1
from ibm_watson.natural_language_understanding_v1 import Features, EmotionOptions, SentimentOptions
from ibm_cloud_sdk_core.authenticators import IAMAuthenticator
authenticator = IAMAuthenticator('XXX')
natural_language_understanding = NaturalLanguageUnderstandingV1(
version='2019-07-12',
authenticator=authenticator
)
natural_language_understanding.set_service_url('https://gateway-lon.watsonplatform.net/natural-language-understanding/api')
response = natural_language_understanding.analyze(
text="Bruce Banner is the Hulk and Bruce Wayne is BATMAN! Superman fears not Banner, but Wayne.",
features=Features(emotion=EmotionOptions(),
sentiment=SentimentOptions())).get_result()
print(json.dumps(response, indent=2))
预先感谢您的帮助,N。
你问了很多基本的 Python 问题(回答 Python Cookbook 的礼貌):
1:如何从a.csv文件中读取数据
import csv
with open('abc.csv') as f:
csvFile = csv.reader(f)
headers = next(csvFile)
for r in csvFile:
# Process row
# Data in column 1 is r[0], column 2 is r[1] etc.
# eg. analyseTheData(r[0])
2:如何将分析响应与输入结合起来
rows = []
for r in csfFile:
d = analyseTheData(r[0])
row = [r]
row.extend(d)
rows.append(row)
3:如何在标题中添加额外的列
headers.extend(['aaa', 'bbb', 'ccc'])
4:如何将数据写入a.csv文件
import csv
with open('xyz.csf') as f:
csvFile = csv.writer(f)
csfFile.writerow(headers)
csvFile.writerows(rows)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.