我有一个空格分隔的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
阅读此文件并对齐日期/值的方法是什么?
(我可以做一些“预处理”吗?)
由于
答案 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