将稀疏的csv文件读入熊猫

时间:2012-11-08 01:51:17

标签: python csv pandas

我有一个空格分隔的CSV文件,格式如下:

2012-11-01 1 2012-12-01 4 2013-02-01 6
2012-12-01 2 2013-01-01 nan
2012-11-01 3 2012-12-01 5 2013-01-01 5 2013-04-01 7

基本上日期后跟一个值,但日期很稀疏。有些值是nan,或者也可能缺失。我希望能够将其读入Pandas并根据相应的日期对这些值进行排列。

跑熊猫:

import pandas as pd
pd.read_csv('sparse.csv', sep=" ", parse_dates=True)

错误:

ValueError: Expecting 6 columns, got 8 in row 1

阅读此文件并对齐日期/值的方法是什么?

(我可以做一些“预处理”吗?)

由于

1 个答案:

答案 0 :(得分:2)

CSV应包含具有相同字段数的行。如果它只是成对的日期数而没有对之间的关​​系,那么它不是CSV,而只是对的文件。因此,它应该被解析为对的文件:

input = open("sparse.csv").read().split() # split by newlines and spaces
i = iter(input)
for date in i:
    if date != "nan":
        value = i.next()
        # process pairs