Найти - Пользователи
Полная версия: Просьба помощи в написании проги
Начало » Центр помощи » Просьба помощи в написании проги
1
OK_GO
Всем привет!
Думаю никто не удивится, если я скажу, что в проге я профан, а выполнить задание нужно, поэтому пишу сюда в надежде на помощь.

Имеется CSV файл с двумя колонками, где в каждой ячейке находится беспорядочный набор букв. И есть функция, которая считает расстояние Левенштейна:
def levenshteinDistance(s1,s2):
if len(s1) > len(s2):
s1,s2 = s2,s1
distances = range(len(s1) + 1)
for index2,char2 in enumerate(s2):
newDistances =
for index1,char1 in enumerate(s1):
if char1 == char2:
newDistances.append(distances)
else:
newDistances.append(1 + min((distances,
distances,
newDistances)))
distances = newDistances
return distances
print(levenshteinDistance(s1,s2))

Задача заключается в следующем: надо сделать так, чтобы python считывал CSV файл, и по очереди брал значение 1 ячейки и значение 2 ячейки первой строки(затем автоматически второй, третей и т.д) и подставлял соответственно их в def levenshteinDistance(s1,s2), чтобы считалось расстояние.

Заранее огромное спасибо!

P.S.надеюсь, несовсем коряво объяснил
terabayt
правильно вставьте функцию
что делать с расстояниями? выводить на экран или записывать в файл?

OK_GO
Думаю никто не удивится, если я скажу, что в проге я профан
не, не удивится :) но вы хоть пытались сделать? где ваши наработки? что не получается?
OK_GO
Вывести на экран.

Дальше вот этого дело никак не идет:

import codecs
separator = “;”
file = codecs.open(“out_all.csv”)
rows =
for line in file:
line_cleared = line.rstrip()
cells = line_cleared.split(separator)
rows.append(cells)

Ны выходе получается такое:
[, , , ]

Наверно, можно это через два цикла for сделать. То есть сделать два списка, и поочередно брать каждый элемент из обоих списков и подставлять их в аргумент функции.

Но я полный ноль и не знаю , как это осуществить.
FishHook
Вам скриншот показали, как вставлять код на форум. Что конкретно в нем неясно?
py.user.next
OK_GO
И есть функция, которая считает расстояние Левенштейна:
Что-то не похоже это на расстояние Левенштейна. Там либо рекурсивная функция (медленная), либо нерекурсивная через матрицу (быстрая).

OK_GO
P.S.надеюсь, несовсем коряво объяснил
Похоже, не до конца понимаешь, что вообще нужно сделать.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB