python - 无法从 read_csv 索引 Pandas 数据框中的日期

标签 python parsing csv pandas

我今天遇到了一个我无法解决的问题。 我使用

读取了一个 csv 文件
mydata = pd.read_csv(file_name, header=0, sep=",", index_col=[0], parse_dates=True)

CSV 看起来像:

2009-12-10,5,6,7,8,9  
2009-12-11,7,6,6,7,9

我没有获得索引数据框,而是得到以下输出

print mydata

Empty DataFrame
Columns: []
Index: [2009-12-10,5,6,7,8,9 2009-12-11,7,6,6,7,9]

请帮忙!!我已经尝试了 2 个小时了!

非常感谢

最佳答案

我认为您的代码有效。这是我看到的:

数据:

import pandas as pd

data = """2009-12-10,5,6,7,8,9
2009-12-11,7,6,6,7,9"""

从csv中读取数据。

ts = pd.read_csv(pd.io.parsers.StringIO(data),
    names=['timepoint', 'a','b','c','d','e'],
    parse_dates=True,
    index_col=0)

看起来像这样

In [59]: ts
Out[59]:
            a  b  c  d  e
timepoint
2009-12-10  5  6  7  8  9
2009-12-11  7  6  6  7  9

索引是一个时间序列

In [60]: ts.index
Out[60]:
<class 'pandas.tseries.index.DatetimeIndex'>
[2009-12-10 00:00:00, 2009-12-11 00:00:00]
Length: 2, Freq: None, Timezone: None

你能试试这个吗,如果你得到不同的结果,可以发布更新吗?

更新:响应@prre72 关于 csv 文件中列标题的评论:

如果 csv 有 5 个列标题且索引列未标记,您可以这样做:

In [17]: 
data = """"a","b","c","d","e"
2009-12-10,5,6,7,8,9
2009-12-11,7,6,6,7,9"""

ts = pd.read_csv(pd.io.parsers.StringIO(data),
    parse_dates=True,
    index_col=0)

In [18]: ts
Out[18]:
            a  b  c  d  e
2009-12-10  5  6  7  8  9
2009-12-11  7  6  6  7  9

In [19]: ts.index
Out[19]:
<class 'pandas.tseries.index.DatetimeIndex'>
[2009-12-10 00:00:00, 2009-12-11 00:00:00]
Length: 2, Freq: None, Timezone: None

关于python - 无法从 read_csv 索引 Pandas 数据框中的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21066464/

相关文章:

c - 使用替代终止字符执行 strcmp 的标准方法?

python - CSV 中列的灵活顺序以及应用程序中项目的硬编码显示

python - python列表中的树文件结构?

python - 如何通过apache thrift生成python 3兼容代码

java - 用Java(不是html)解析网页中的文本

parsing - RTP H.264 数据包解包器

java - 如何从csv文件中读取特定数据并将其删除?

java - 用 Java 解析 CSV 文件

python - 如何合并pandas中的重复行

python - 从 input() 中解压多个 float