У меня есть файл json с твитами, добытыми с Tweepy. Чтобы получить анализ настроений для каждого твита, я пытаюсь использовать API с сайта www.text-processing.com. Вы можете просмотреть мой настоящий (ошибочный) код ниже.Запуск команды терминала для каждой строки в файле JSON
fname = 'python.json'
with open(fname, 'r') as f:
for line in f:
tweet = json.loads(line)
# Draw out the text from each tweet
tweet_words = tweet['text']
bash_com = 'curl -d "text={}".format(tweet_words) http://text-processing.com/api/sentiment/'
subprocess.Popen(bash_com)
output = subprocess.check_output(['bash','-c', bash_com])
with open('sentiment.json', 'w') as s:
s.write(output)
возвращает следующую ошибку:
CalledProcessError: Command '['bash', '-c', 'curl -d "text={}".format(tweet_words) http://text-processing.com/api/sentiment/']' returned non-zero exit status 1
я предполагаю это, главным образом, потому что я использую функцию формата() для команды, предполагают, чтобы пройти через терминал (через модуль подпроцесса). Команда терминала, которую я хочу запустить для каждого твита в моем json-файле:
curl -d "text=word" http://text-processing.com/api/sentiment/
Кто-нибудь знает о хорошем решении? Благодаря!
Спасибо! Это решение работает! – Michael