【发布时间】:2021-11-09 20:29:57
【问题描述】:
我正在尝试将 csv 文件中的多个语句传递给 Python,并使用 exec() 函数执行它们。我目前遇到一个问题,我可以将一个语句作为字符串变量传递给 exec() 函数,但是当我使用 DataFrames 从 csv 文件中读取相同的值时出现错误。
有效的代码:
program = 'a = 5\nb=10\nprint("Sum =", a+b)'
exec(program)
不起作用的代码:
trans = df.loc[df['ldms_name'] == row[2]]['translation'].item()
for i in trans.split(';'):
exec(i)
csv 中的翻译值为:
a = 5\nb=10\nprint("Sum =", a+b)
我得到的错误是:
SyntaxError: unexpected character after line continuation character
我尝试了几种不同的引用方法。
【问题讨论】:
-
您真的必须提供minimal reproducible example。您提供的字符串不会引发该错误。
-
当反斜杠 '\' 后面没有换行符 '\n' 时,可能会发生换行错误。这可能会帮助您缩小问题范围。此外,如果您将代码存储在 csv 文件中,则不能在代码中使用逗号,例如
print(a,b)
标签: python dataframe csv exec quoting