В стандартном вводе, я обеспечиваю следующий файл:питона заменить слово в соответствии с условием
#123 595739778 "neutral" Won the match #getin
#164 595730008 "neutral" Good girl
данные # 2 выглядит следующим образом:
labels 1 0 -1
-1 0.272653 0.139626 0.587721
1 0.0977782 0.0748234 0.827398
Я хочу увидеть, если его -1 в данные файла # 2 затем заменить отрицательным, то 1 положительный и 0, то нейтральный
Ниже приведены мои вопросы:
- начало в данных # 2 файл на 2-й строке
- Я столкнулся с проблемой замены. Я хочу заменить, как показано ниже, но показывая ошибку, и он ожидает еще один аргумент, но у меня уже есть 2 аргумента.
Если я делаю, что-то, как показано ниже (обратите внимание на оператор печати):
if binary == "-1": senti = str.replace(senti.strip('"'),"negative") elif binary == "1": senti = str.replace(senti.strip('"'),"positive") elif binary == "0": senti = str.replace(senti.strip('"'),"neutral") print id, "\t", num, "\t", senti, "\t", sent
, но если я (уведомление печати), то он не идет в «если условия»:
if binary == "-1": senti = str.replace(senti.strip('"'),"negative") elif binary == "1": senti = str.replace(senti.strip('"'),"positive") elif binary == "0": senti = str.replace(senti.strip('"'),"neutral")
печати ID, "\ т", Num, "\ т", SENTI, "\ т", посланный
Как напечатать то. выход, который я получил: # 123 595739778 "нейтральный" выиграл матч #getin # 164 595730008 "нейтральный" Хорошая девочка
output expected (replace just replaces the negative, positive & neutral as per data# file:
#123 595739778 negative Won the match #getin
#164 595730008 positive Good girl
Ошибка:
Traceback (most recent call last):
File "./combine.py", line 17, in <module>
senti = str.replace(senti.strip('"'),"negative")
TypeError: replace() takes at least 2 arguments (1 given)
Вот мой код:
for line in sys.stdin:
(id,num,senti,sent) = re.split("\t+",line.strip())
tweet = re.split("\s+", sent.strip().lower())
f = open("data#2.txt","r")
for line1 in f:
(binary,rest,rest1,test2) = re.split("\s", line1.strip())
if binary == "-1":
senti = str.replace(senti.strip('"'),"negative")
elif binary == "1":
senti = str.replace(senti.strip('"'),"positive")
elif binary == "0":
senti = str.replace(senti.strip('"'),"neutral")
print id, "\t", num, "\t", senti, "\t", sent
Можете ли вы разместить сообщение об ошибке, которую вы получаете? – qmorgan
@qmorgan проверить мое редактирование – fscore