Я начинающий программист, пишу здесь впервые.Любые предложения и советы приветствуются!Я работаю над проектом, который сравнивает содержимое, скажем test.csv с ref.csv (оба столбца содержат строки из 3-4 слов), и присваивает оценку каждой строке из test.csv, основываясь на ее сходстве с наиболее похожимистрока в ref.csv.Я использую модуль сопоставления строк fuzzywuzzy для назначения оценки сходства.
Следующий фрагмент кода берет два входных файла, преобразует их в массивы и распечатывает массивы:
import csv
# Load text matching module
from fuzzywuzzy import fuzz
from fuzzywuzzy import process
# Import reference and test lists and assign to variables
ref_doc = csv.reader(open('ref.csv', 'rb'), delimiter=",", quotechar='|')
test_doc = csv.reader(open('test.csv', 'rb'), delimiter=",", quotechar='|')
# Define the arrays into which to load these lists
ref = []
test = []
# Assign the reference and test docs to arrays
for row in ref_doc:
ref.append(row)
for row in test_doc:
test.append(row)
# Print the arrays to make sure this all worked properly
# before we procede to run matching operations on the arrays
print ref, "\n\n\n", test
Проблема в том, что этот скрипт работает, как и ожидалось, когда я запускаю его в IDLE, но возвращает следующую ошибку, когда я вызываю его из bash:
['one', 'two']
Traceback (most recent call last):
File "csvimport_orig.py", line 4, in <module>
from fuzzywuzzy import fuzz
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/fuzzywuzzy/fuzz.py", line 32, in <module>
import utils
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/fuzzywuzzy/utils.py", line 6, in <module>
table_from=string.punctuation+string.ascii_uppercase
AttributeError: 'module' object has no attribute 'punctuation'
Есть ли что-то, что мне нужно настроитьв bash для этого нужно правильно работать?Или есть что-то принципиально неправильное, что IDLE не ловит?Для простоты я не называю модуль fuzzywuzzy в этом фрагменте, но он работает как ожидалось в IDLE.
В конце концов, я хотел бы использовать pylevenshtein , но пытаюсь увидетьесли мое использование этого сценария имеет значение, прежде чем я добавлю дополнительное время на выполнение этой работы.
Заранее спасибо.