从特定行读取 CSV
Reading a CSV from a particular line
我正在编写一个处理气象站数据的程序,这是我从我的气象站获得的 CSV:
问题是 pandas 无法打开它。首先,我收到一条错误消息,我设法通过以下方式绕过:
test = pd.read_csv("PAYA(3).csv",error_bad_lines=False,skiprows = [0,7])
现在另一个问题是 pandas 文件只显示前 4 行:
我怎样才能正确读取文件?我想要的是将它分成 4 列,以包含日期、小时、降水量和温度。我的最终目标是自动下载给定日期的数据-window,并将变量堆叠到一个巨大的数组中。
当向 pandas.read_csv
的 skiprows
参数传递一个列表时,根据文档,您要求它恰好跳过该列表中的行,而不是一系列行。
如果您想跳过前 8 行,只需传递 skiprows=8
。
更新:我发现以下最适合此数据集:
>>> pd.read_csv(url, header=6, skiprows=[7])
这使用行 6
作为列名,跳过给出一些单位的行 7
。使用 header=6
隐式跳到行 7
作为数据的开始。
结果:
Station_ID Date_Time air_temp_set_1 precip_accum_one_hour_set_1
0 PAYA 01/03/2020 22:00 AKST 24.80 NaN
1 PAYA 01/03/2020 22:05 AKST 24.80 NaN
2 PAYA 01/03/2020 22:10 AKST 24.80 NaN
3 PAYA 01/03/2020 22:15 AKST 24.80 NaN
4 PAYA 01/03/2020 22:20 AKST 24.80 NaN
.. ... ... ... ...
287 PAYA 01/04/2020 21:45 AKST 8.60 NaN
288 PAYA 01/04/2020 21:50 AKST 8.60 NaN
289 PAYA 01/04/2020 21:53 AKST 10.04 NaN
290 PAYA 01/04/2020 21:55 AKST 8.60 NaN
291 PAYA 01/04/2020 22:00 AKST 8.60 NaN
您可能希望将参数 skiprows 更改为:
test = pd.read_csv("PAYA.csv", skiprows=range(0,7), sep=',', error_bad_lines=False)
我正在编写一个处理气象站数据的程序,这是我从我的气象站获得的 CSV:
问题是 pandas 无法打开它。首先,我收到一条错误消息,我设法通过以下方式绕过:
test = pd.read_csv("PAYA(3).csv",error_bad_lines=False,skiprows = [0,7])
现在另一个问题是 pandas 文件只显示前 4 行:
我怎样才能正确读取文件?我想要的是将它分成 4 列,以包含日期、小时、降水量和温度。我的最终目标是自动下载给定日期的数据-window,并将变量堆叠到一个巨大的数组中。
当向 pandas.read_csv
的 skiprows
参数传递一个列表时,根据文档,您要求它恰好跳过该列表中的行,而不是一系列行。
如果您想跳过前 8 行,只需传递 skiprows=8
。
更新:我发现以下最适合此数据集:
>>> pd.read_csv(url, header=6, skiprows=[7])
这使用行 6
作为列名,跳过给出一些单位的行 7
。使用 header=6
隐式跳到行 7
作为数据的开始。
结果:
Station_ID Date_Time air_temp_set_1 precip_accum_one_hour_set_1
0 PAYA 01/03/2020 22:00 AKST 24.80 NaN
1 PAYA 01/03/2020 22:05 AKST 24.80 NaN
2 PAYA 01/03/2020 22:10 AKST 24.80 NaN
3 PAYA 01/03/2020 22:15 AKST 24.80 NaN
4 PAYA 01/03/2020 22:20 AKST 24.80 NaN
.. ... ... ... ...
287 PAYA 01/04/2020 21:45 AKST 8.60 NaN
288 PAYA 01/04/2020 21:50 AKST 8.60 NaN
289 PAYA 01/04/2020 21:53 AKST 10.04 NaN
290 PAYA 01/04/2020 21:55 AKST 8.60 NaN
291 PAYA 01/04/2020 22:00 AKST 8.60 NaN
您可能希望将参数 skiprows 更改为:
test = pd.read_csv("PAYA.csv", skiprows=range(0,7), sep=',', error_bad_lines=False)