pandas.errors.EmptyDataError,但文件不为空

时间:2019-02-01 12:04:12

标签: python pandas error-handling

我编写了以下代码(缩短了)以从netCDF文件中检索数据,并将它们作为时间序列保存在每个i,j单元的每个循环的临时文件中:

for i in range(0,400):
    for j in range(0,120):
       with open('file_temp.tmp', 'w') as out_temp:
           out_temp.write('header1'+'\t'+'header2'+'\n')
           for yr in range(1990,2011):
               (get data from netCDF)
               out_temp.write(str(val1)+'\t'+str(val2)+'\n')
       df=pd.read_csv('file_temp.tmp', delimiter='\t')

但是在Pandas读取文件的最后一行中,出现此错误:

 line 1605, in __init__
self._reader = parsers.TextReader(src, **kwds)
  File "pandas/_libs/parsers.pyx", line 565, in pandas._libs.parsers.TextReader.__cinit__
pandas.errors.EmptyDataError: No columns to parse from file

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

对于这个问题可能是一个令人担忧的人,我找到了一种解决方案,该方法似乎有些天真,但是可以工作,并且至少在紧急情况下可以被视为捷径:

我将脚本分为两个脚本,一个用于提取数据并将其以时间序列的形式写入csv文件,另一个用于读取这些csv文件并进一步处理它们的脚本。像这样:

第一个脚本:

/usr/bin/ld: ../../libsgxstep/libsgx-step.a(aep_trampoline.o): relocation R_X86_64_32S against symbol `sgx_step_tcs' can not be used when making a PIE object; recompile with -fPIC
/usr/bin/ld: final link failed: Nonrepresentable section on output
collect2: error: ld returned 1 exit status
Makefile:56: recipe for target 'app' failed
make: *** [app] Error 1

第二个脚本:

for i in range(0,400):
    for j in range(0,120):
       with open('file_temp.tmp', 'w') as out_temp:
       out_temp.write('header1'+'\t'+'header2'+'\n')
           for yr in range(1990,2011):
               (get data from netCDF)
               out_temp.write(str(val1)+\
               '\t'+str(val2)+'\n')

如果您使用的是Unix或Linux,bash脚本可以同时运行两个脚本(成功),而不必一个接一个地运行