我正在下载数据并将它们写入csv,这些csv稍后会被读入python。在python中一次(使用熊猫.read_csv),特定的数据列将被连接起来。然而,有时我下载到CSV的数据是不可用的,最终导致一个不存在的CSV文件。当文件丢失时,连接过程(熊猫海螺)由于“NameError:'xyz'未定义”而导致的阻塞。有没有方法熊猫海螺忽略这样丢失的数据?在
下面是我的剧本
#!/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的例子。它们的格式都是一样的。在
^{pr2}$这是产生的错误
补偿=熊猫海螺([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)回溯(最近一次调用最后一次):文件“”,第1行,名称错误:未定义名称“GFSMOS”
一个简单的修复方法是检查您关心的列。下面是一些代码,用于研究与
read_csv
相关的各种事情。在输出如下:
^{pr2}$它告诉我,您的输入csv文件不是空的/不存在的(因为您没有询问这些错误),而且您可以使用Python
in
操作符提前检查列。在(当然,EAFP,这样您就可以捕获异常并从那里开始…)
更新
根据注释,我修改了代码,将内容存储在字典中,按明显的字符串名称编制索引,而不是存储在单独的变量中。这使得处理更容易,并且更容易使用循环进行操作。在
修改后的版本忽略了FileNotFound错误,只是跳过了不可用的数据。我不知道这是否真的有用,但它似乎正是你所要求的。在
相关问题 更多 >
编程相关推荐