Pandas read_csv跳过一排

时间:2014-03-12 09:21:58

标签: python pandas

我有一个类似这样的CSV文件:

" ";D1;D2;D3;D4;
" ";V1;V2;V3;V4;" ";
2014-03-03 00:00:00.0;397989;18.7;18.7;18.7;
2014-03-03 00:30:00.0;398042;18.7;18.7;18.6;
2014-03-03 01:00:00.0;398100;19;19;18.9;

前2行是多头,其余是数据。即使存在额外的冗余,我也无法更改CSV格式。 "第2行的细胞。

我试图解析文件(Pandas 0.12):

df = pd.read_csv(filename, sep=";", header=[0,1], parse_dates=True)
df.head()

                  ( ,  )  (D1, V1)  (D2, V2)  (D3, V3)  (D4, V4)  \
0  2014-03-03 00:30:00.0    398042      18.7      18.7      18.6   
1  2014-03-03 01:00:00.0    398100      19.0      19.0      18.9   

   (Unnamed: 5_level_0,  )  
0                      NaN  
1                      NaN  

忽略存在冗余列的事实,我可以轻松地删除它。问题是第一行(时间戳2014-03-03 00:00:00)丢失了,我不知道为什么。这可能是我需要的换行设置吗?

如果我进一步尝试解析并指定索引列:

df = pd.read_csv(filename, sep=";", header=[0,1], parse_dates=True, index_col=0)
df.head()

                       (D1, V1)  (D2, V2)  (D3, V3)  (D4, V4)  \
2014-03-03 00:00:00.0                                           
2014-03-03 00:30:00      398042      18.7      18.7      18.6   
2014-03-03 01:00:00      398100      19.0      19.0      18.9   

                       (Unnamed: 5_level_0,  )  
2014-03-03 00:00:00.0                           
2014-03-03 00:30:00                        NaN  
2014-03-03 01:00:00                        NaN  

我注意到索引是在标题之后的第一行之后命名的。这可能是一个线索。 关于如何处理第一个缺失行的任何想法?

0 个答案:

没有答案