У меня есть файлы CSV, которые содержат многочисленные значения, которые я хочу ссылаться. Я хотел разобрать их лаконично, используя eval
. Вот что я пробовал:Настройка свойств из файла CSV с использованием eval (Python)
line = fileHandle.readline()
while line != "":
if line != "\n":
parameter = line.split(',')[0]
value = line.split(',')[2].replace("\n", "")
eval("%s = \"%s\"" % (parameter, value))
print(parameter + " = " + eval(parameter)) # a quick test
line = fileHandle.readline()
Что я получаю:
Traceback (innermost last):
File "<string>", line 73, in ?
File "<string>", line 70, in createJMSProviders
File "<string>", line 49, in createJMSProviderFromFile
File "<string>", line 1
externalProviderURL="tibjmsnaming://..."
^
SyntaxError: invalid syntax
Я читает мне, как это не представляется возможным eval("externalProviderURL=\"tibjmsnaming://...\"")
. Что не так с этим утверждением?
Есть ли причина, по которой вы не используете 'csv' модуль? http://docs.python.org/library/csv.html – Wilduck
Я новичок в python. Позвольте мне посмотреть, поддерживается ли этот модуль в моей среде (WAS 6). Вопрос все еще стоит, академически. – Synesso
Вы почти наверняка хотите словарь вместо создания переменных в глобальной области с помощью 'eval'. Модуль 'csv' имеет очень полезный класс' DictReader'. http://docs.python.org/library/csv.html#csv.DictReader Кроме того, модуль 'csv' находится в стандартной библиотеке Python с версии 2.3. – Wilduck