Я хочу написать UDF питон для свиней, чтобы читать строки из файла под названием какUDF (User Defined Function) питон дает другой ответ на свинье
#'prefix.csv'
spol.
LLC
Oy
OOD
и совпадают с именами и если находят любые матчи, затем заменяет его пробелом. вот мой питон код
def list_files2(name, f):
fin = open(f, 'r')
for line in fin:
final = name
extra = 'nothing'
if (name != name.replace(line.strip(), ' ')):
extra = line.strip()
final = name.replace(line.strip(), ' ').strip()
return final, extra,'insdie if'
return final, extra, 'inside for'
Выполнение этого кода в Python,
>print list_files2('LLC nakisa', 'prefix.csv')
>print list_files2('AG company', 'prefix.csv')
возвращает
('nakisa', 'LLC', 'insdie if')
('AG company', 'nothing', 'inside for')
это именно то, что мне нужно. Но когда я зарегистрировать этот код как UDF в апаче свиньи для этого списка выборки:
nakisa company LLC
three Oy
AG Lans
Test OOD
свинья возвращает неправильный ответ на третьей строке:
((nakisa company,LLC,insdie if))
((three,Oy,insdie if))
((A G L a n s,,insdie if))
((Test,OOD,insdie if))
Вопрос в том, почему UDF входит если цикл для третья запись, которая не имеет никакого соответствия в файле prefix.csv.
Привет, команда с открытым (имя файла, «г»), как file_: не может быть использован в свинью. Он дает эту ошибку: Синтаксическая ошибка: «с» станет зарезервированным ключевым словом в Python 2.6 – nakisa
Я пробовал код с именем.find (prefix)! = -1, python работает, но свиньи нет! – nakisa
Хорошо, какую версию 'python' вы используете локально? и какая версия использует 'свиньи? Может быть, это проблема? Кажется, что ваша 'свинья' использует VERRY old' python 2.5' или что-то в этом роде –