【发布时间】:2013-12-10 02:12:58
【问题描述】:
在标准输入中,我提供以下文件:
#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
我想看看它在 data#2 文件中的 -1 是否替换为负数,1 然后是正数,0 然后是中性
以下是我的问题:
- 从第 2 行的 data#2 文件开始
- 我遇到了更换问题。我想像下面那样替换,但它显示一个错误,它需要 1 个参数,但我已经有 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, "\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 检查我的编辑