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

问题描述 投票:0回答:1

我写了下面的代码(缩短)来检索文件的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')

但在读取由熊猫该文件的最后一行,我得到这个错误:

 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

我会感激你的帮助

python pandas error-handling
1个回答
0
投票

谁这个问题可能是一个问题,我找到了一种解决方案,这似乎有点幼稚,但工程和可被视为至少在紧急情况下的快捷方式:

我拆我的脚本到两个剧本,一个用于提取数据和时间序列为CSV文件的形式写他们,而另一个脚本来读取这些CSV文件,并进一步对它们进行处理。就像是:

首先脚本:

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')
(do further analysis)

如果使用的是Unix或Linux,bash脚本可以一起(连续)同时运行脚本,你不必跑一前一后

© www.soinside.com 2019 - 2024. All rights reserved.