由于特殊符号 (ö, ä, ±),Looper 无法执行 pythonscript
Looper unable to execute pythonscript due to special signs (ö, ä, ±)
我多次使用循环脚本 运行 主脚本时遇到问题。主脚本 运行 独立运行并产生所需的输出。现在,我想使用以下循环 运行 脚本三次:
array = ['case1','case2','case3']
for i in range(0,len(array)):
exec(open('mainscript.py').read())
它正确地打开并且 运行 是脚本的第一部分(几个打印语句最终出现在我的屏幕上)。但是,当我尝试加载名称为 'Coördinates4hoog' 的文件时,找不到文件:
FileNotFoundError: [Errno 2] No such file or directory: 'path\Coördinates4hoog'
在这种情况下,我更改了输入文件(这是不可取的,但我认为这很容易修复)。我知道在文件名中使用 ö 之类的符号不是最佳选择,但在这种情况下,我正在处理以前制作的脚本和数据文件。
重点是,在脚本中它进一步加载了带有 ± 符号的 latitude/longitude 数据。我无法更改此数据类型,因为它是从外部数据库中反复检索到的。我收到以下错误:
KeyError: "['Latitude ±dd,dddddd' 'Longitude ±ddd,dddddd'] not in index"
循环程序脚本似乎无法识别这些特殊标志,即使它正确地从顶部开始 运行s 主脚本(它自己运行)。有这方面的经验吗?
在这种情况下,将特殊符号更改为其 unicode 字符对我有用。因此,如果您 运行 遇到类似的问题,请使用类似的方法。
所以:
df_road_coords = pd.read_pickle(filefolder + 'Coördinates4hoog')road
变为:
df_road_coords = pd.read_pickle(filefolder + 'Co'+u"\u00F6"+'rdinates4hoog')
并且:
adresses.loc[:,'(Latitude ±dd,dddddd, Longitude ±ddd,dddddd)'] = df_receivers[['Latitude ±dd,dddddd', 'Longitude ±ddd,dddddd']].apply(lambda x : '({},{})'.format(x[0],x[1]), axis=1)
变为:
adresses.loc[:,'(Latitude '+u"\u00B1"+'dd,dddddd, Longitude '+u"\u00B1"+'ddd,dddddd)'] = df_receivers[['Latitude '+u"\u00B1"+'dd,dddddd', 'Longitude '+u"\u00B1"+'ddd,dddddd']].apply(lambda x : '({},{})'.format(x[0],x[1]), axis=1)
对我来说,使用相同模块和版本的 looperscript 如何无法处理另一个 运行 自己的脚本中的符号仍然是胡言乱语。
我多次使用循环脚本 运行 主脚本时遇到问题。主脚本 运行 独立运行并产生所需的输出。现在,我想使用以下循环 运行 脚本三次:
array = ['case1','case2','case3']
for i in range(0,len(array)):
exec(open('mainscript.py').read())
它正确地打开并且 运行 是脚本的第一部分(几个打印语句最终出现在我的屏幕上)。但是,当我尝试加载名称为 'Coördinates4hoog' 的文件时,找不到文件:
FileNotFoundError: [Errno 2] No such file or directory: 'path\Coördinates4hoog'
在这种情况下,我更改了输入文件(这是不可取的,但我认为这很容易修复)。我知道在文件名中使用 ö 之类的符号不是最佳选择,但在这种情况下,我正在处理以前制作的脚本和数据文件。
重点是,在脚本中它进一步加载了带有 ± 符号的 latitude/longitude 数据。我无法更改此数据类型,因为它是从外部数据库中反复检索到的。我收到以下错误:
KeyError: "['Latitude ±dd,dddddd' 'Longitude ±ddd,dddddd'] not in index"
循环程序脚本似乎无法识别这些特殊标志,即使它正确地从顶部开始 运行s 主脚本(它自己运行)。有这方面的经验吗?
在这种情况下,将特殊符号更改为其 unicode 字符对我有用。因此,如果您 运行 遇到类似的问题,请使用类似的方法。
所以:
df_road_coords = pd.read_pickle(filefolder + 'Coördinates4hoog')road
变为:
df_road_coords = pd.read_pickle(filefolder + 'Co'+u"\u00F6"+'rdinates4hoog')
并且:
adresses.loc[:,'(Latitude ±dd,dddddd, Longitude ±ddd,dddddd)'] = df_receivers[['Latitude ±dd,dddddd', 'Longitude ±ddd,dddddd']].apply(lambda x : '({},{})'.format(x[0],x[1]), axis=1)
变为:
adresses.loc[:,'(Latitude '+u"\u00B1"+'dd,dddddd, Longitude '+u"\u00B1"+'ddd,dddddd)'] = df_receivers[['Latitude '+u"\u00B1"+'dd,dddddd', 'Longitude '+u"\u00B1"+'ddd,dddddd']].apply(lambda x : '({},{})'.format(x[0],x[1]), axis=1)
对我来说,使用相同模块和版本的 looperscript 如何无法处理另一个 运行 自己的脚本中的符号仍然是胡言乱语。