Я новичок в Python и я использую следующий код, чтобы тянуть вывод, как анализ настроений:читает все текстовые файлы из каталога
import json
from watson_developer_cloud import ToneAnalyzerV3Beta
import urllib.request
import codecs
import csv
import os
import re
import sys
import collections
import glob
ipath = 'C:/TEMP/' # input folder
opath = 'C:/TEMP/matrix/' # output folder
reader = codecs.getreader("utf-8")
tone_analyzer = ToneAnalyzerV3Beta(
url='https://gateway.watsonplatform.net/tone-analyzer/api',
username='ABCID',
password='ABCPASS',
version='2016-02-11')
path = 'C:/TEMP/*.txt'
file = glob.glob(path)
text = file.read()
data=tone_analyzer.tone(text='text')
for cat in data['document_tone']['tone_categories']:
print('Category:', cat['category_name'])
for tone in cat['tones']:
print('-', tone['tone_name'],tone['score'])
#create file
В приведенном выше коде все, что я пытаюсь сделать, это прочитать файл и анализировать все текстовые файлы, хранящиеся в папке C:/TEMP, но я продолжаю получать и ошибочно: объект «list» не имеет атрибута «read»
Не знаю, где я ошибаюсь, и я был бы очень признателен за любую помощь с этим. Кроме того, есть ли способ, которым я могу записать вывод в CSV-файл, поэтому, если я читаю файл
ABC.txt и создаю выходной CSV-файл с именем ABC.csv с выходными значениями.
Спасибо
Спасибо, Padraic, что сделал трюк. Вы знаете, есть ли способ написать вывод в отдельных CSV-файлах. Поэтому, если имена текстовых файлов - abc.txt и xyz.txt, можно создать два файла abc.csv и xyz.csv, содержащие выходы. – Rvs
@Rvs, да, что вы пишете на csv? –
Спасибо Padraic, поэтому, если выход после выполнения логики на A.txt равен X, Y, Z. Я ищу создать CSV-файл A.CSV, содержащий этот вывод, и если вывод для файла B.txt должен быть сохранен в B.CSV. Я очень ценю вашу помощь здесь. – Rvs