【发布时间】:2017-08-26 19:38:17
【问题描述】:
我正在下载数据并将它们写入 CSV,这些 CSV 稍后会读入 python。一旦进入python(使用pandas.read_csv),特定的数据列就会被连接起来。但是,有时我下载到 CSV 中的数据不可用,最终导致 CSV 文件不存在。当文件丢失时,连接过程(pandas.concat)由于“NameError:'xyz'未定义”而阻塞。 pandas.concat 有没有办法忽略这样的缺失数据?
下面是我的脚本
#!/usr/bin/python3.5
import pandas
import time
import os
GFS = pandas.read_csv('/home/user/NWP/TEXT/GFS/PJMS/' + time.strftime("%Y%m%d") + '/' + 'PJMS_GFS_temps.csv', index_col=1)
ARW = pandas.read_csv('/home/user/NWP/TEXT/ARW/PJMS/' + time.strftime("%Y%m%d") + '/' + 'PJMS_ARW_temps.csv', index_col=1)
HRDPS = pandas.read_csv('/home/user/NWP/TEXT/HRDPS/PJMS/' + time.strftime("%Y%m%d") + '/' + 'PJMS_HRDPS_temps.csv', index_col=1)
NAM4 = pandas.read_csv('/home/user/NWP/TEXT/NAM4/PJMS/' + time.strftime("%Y%m%d") + '/' + 'PJMS_NAM4_temps.csv', index_col=1)
GFSMOS = pandas.read_csv('/home/user/NWP/TEXT/GFSMOS/PJMS/' + time.strftime("%Y%m%d") + '/' + 'PJMS_GFSMOS_temps.csv', index_col=1)
ICON = pandas.read_csv('/home/user/NWP/TEXT/ICON/PJMS/' + time.strftime("%Y%m%d") + '/' + 'PJMS_ICON_temps.csv', index_col=1)
COMP = pandas.concat([GFS['PJMS GFS Temp'], ARW['PJMS ARW Temp'], HRDPS['PJMS HRDPS Temp'], NAM4['PJMS NAM4 Temp'], GFSMOS['PJMS GFSMOS Temp'], ICON['PJMS ICON Temp']], axis=1)
path = "/home/user/NWP/TEXT/COMPOSITES/" + time.strftime("%Y%m%d")
COMP.to_csv(os.path.join(path,'PJMS_ALL_temps.csv'))
exit()
还有一个 CSV 示例。它们的格式都相同。
,Date,SHD Temp,HEF Temp,OFP Temp,NTU Temp,PGV Temp,ROA Temp,ADW Temp,PJMS GFS Temp
0,2017040101,47.93,44.87,51.53,58.37,59.09,50.27,47.21,51.073885
1,2017040102,47.75,45.59,51.35,58.01,57.47,50.45,45.77,51.058891
2,2017040103,46.85,45.05,51.17,57.11,56.39,49.19,46.31,50.441292999999995
3,2017040104,46.85,45.23,50.09,55.85,56.03,49.01,46.31,49.91994100000001
4,2017040105,47.21,42.71,49.91,54.77,54.23,49.01,46.13,48.67237900000001
5,2017040106,47.75,43.79,50.09,53.69,53.15,49.73,45.41,48.780829
6,2017040107,47.93,44.51,49.55,53.15,52.25,50.09,44.51,48.728466999999995
7,2017040108,48.11,44.87,49.01,52.43,51.53,50.27,44.33,48.527857000000004
8,2017040109,48.29,45.95,48.83,51.53,50.99,50.09,43.97,48.578959000000005
9,2017040110,48.83,48.11,48.11,51.17,50.81,49.37,43.97,49.049803000000004
10,2017040111,48.83,48.11,47.21,50.99,50.63,48.29,45.23,48.790405
11,2017040112,49.37,47.39,49.19,52.25,52.43,48.11,47.03,49.451023000000006
这是导致的错误
COMP = pandas.concat([GFS['PJMS GFS Temp'], ARW['PJMS ARW Temp'], HRDPS['PJMS HRDPS Temp'], NAM4['PJMS NAM4 Temp'], GFSMOS['PJMS GFSMOS Temp'], ICON['PJMS ICON Temp']], axis=1) Traceback(最近一次调用最后):文件“”,第 1 行,在 NameError:名称 'GFSMOS' 未定义
【问题讨论】:
-
您需要展示您的代码和数据示例
-
会引发一个不存在的文件。会出现一个完全空的文件。如果您没有收到异常,则说明文件不是空的,或者您正在捕获错误并抑制它。向我们展示您的代码和数据。
-
添加代码和数据
-
GFSMOS csv 文件长什么样子?
-
在这种情况下它不存在,因为来自源的数据不可用。 FileNotFoundError: 文件 b'/home/user/NWP/TEXT/GFSMOS/PJMS/20170401/PJMS_GFSMOS_temps.csv' 不存在 >> 相关的 python 错误