在標準輸入,我提供以下文件:蟒蛇代替單詞按條件
#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文件在第二行
- 我正面臨着替換的麻煩。我想像下面一樣替換它,但是它顯示了一個錯誤,它期望另外1個參數,但是我已經有2個參數了。
如果我這樣做,類似下面(注意print語句):
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, 「\ t」 的,NUM, 「\ t」 的,senti, 「\ t」 的,送
如何打印即可。 輸出,我得到: #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