Я очень новичок в программировании на питоне. Я пытаюсь взять файл csv, который имеет два столбца строковых значений и хочет сравнить отношение подобия строки между обоими столбцами. Затем я хочу взять значения и вывести соотношение в другой файл.Сравнение двух столбцов csv и коэффициента сходства строк в другом 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 <module>
for row in match_ratio:
TypeError: 'float' object is not iterable
Я чувствую, что я не импортировать список столбцов правильно и запустить его с помощью функции sequencematcher ,
Это сработало очень хорошо. Мне нужно исследовать панды еще. Благодаря! – Jimmy