我有一个类似这样的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
我注意到索引是在标题之后的第一行之后命名的。这可能是一个线索。 关于如何处理第一个缺失行的任何想法?