python怎么以两个字符为一行输出_python – 比较csv的两列并在另一个csv中输出字符串相似性比率...

我是python编程的新手.我正在尝试使用具有两列字符串值的csv文件,并希望比较两列之间字符串的相似性比率.然后我想取值并在另一个文件中输出比率.

csv可能如下所示:

Column 1|Column 2

tomato|tomatoe

potato|potatao

apple|appel

我希望输出文件显示每一行,第1列中的字符串与第2列的相似程度.我使用difflib输出比率分数.

这是我到目前为止的代码:

import csv

import difflib

f = open('test.csv')

csf_f = csv.reader(f)

row_a = []

row_b = []

for row in csf_f:

row_a.append(row[0])

row_b.append(row[1])

a = row_a

b = row_b

def similar(a, b):

return difflib.SequenceMatcher(a, b).ratio()

match_ratio = similar(a, b)

match_list = []

for row in match_ratio:

match_list.append(row)

with open("output.csv", "wb") as f:

writer = csv.writer(f, delimiter=',')

writer.writerows(match_list)

f.close()

我收到错误:

Traceback (most recent call last):

File "comparison.py", line 24, in

for row in match_ratio:

TypeError: 'float' object is not iterable

我觉得我没有正确导入列列表并针对sequencematcher函数运行它.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值