Pandas read_csv上的TypeError,在.7中工作,在.8.0rc2中出错,可能的依赖项错误?

Pandas read_csv上的TypeError,在.7中工作,在.8.0rc2中出错,可能的依赖项错误?,pandas,Pandas,我试图在python中执行以下操作: from pandas import * tickdata = read_csv('/home/user/sourcefile.csv',index_col=0,parse_dates='TRUE') csv文件的行如下所示: 2011/11/23 23:56:00.554389,1165.2500 2011/11/23 23:56:02.310943,1165.5000 2011/11/23 23:56:05.564009,1165.2500 在熊猫7

我试图在python中执行以下操作:

from pandas import *
tickdata = read_csv('/home/user/sourcefile.csv',index_col=0,parse_dates='TRUE')
csv文件的行如下所示:

2011/11/23 23:56:00.554389,1165.2500
2011/11/23 23:56:02.310943,1165.5000
2011/11/23 23:56:05.564009,1165.2500
在熊猫7上,这执行得很好。在pandas.8.0rc2上,我得到以下错误。因为我在两个不同的系统上安装了.7和.8,所以我没有排除依赖关系或python版本的差异。如果您有任何关于如何在.8下执行此操作的想法,我们将不胜感激

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.7/dist-packages/pandas-0.8.0rc2-py2.7-linux-x86_64.egg/pandas/io/parsers.py", line 225, in read_csv
return _read(TextParser, filepath_or_buffer, kwds)

File "/usr/local/lib/python2.7/dist-packages/pandas-0.8.0rc2-py2.7-linux-x86_64.egg/pandas/io/parsers.py", line 192, in _read
return parser.get_chunk()
File "/usr/local/lib/python2.7/dist-packages/pandas-0.8.0rc2-py2.7-linux-x86_64.egg/pandas/io/parsers.py", line 728, in get_chunk
index = self._agg_index(index)
File "/usr/local/lib/python2.7/dist-packages/pandas-0.8.0rc2-py2.7-linux-x86_64.egg/pandas/io/parsers.py", line 846, in _agg_index
if try_parse_dates and self._should_parse_dates(self.index_col):
File "/usr/local/lib/python2.7/dist-packages/pandas-0.8.0rc2-py2.7-linux-x86_64.egg/pandas/io/parsers.py", line 874, in _should_parse_dates
return i in to_parse or name in to_parse
TypeError: 'in <string>' requires string as left operand, not int
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
文件“/usr/local/lib/python2.7/dist-packages/pandas-0.8.0rc2-py2.7-linux-x86_64.egg/pandas/io/parsers.py”,第225行,以只读形式
返回读取(文本分析器、文件路径或缓冲区、kwds)
文件“/usr/local/lib/python2.7/dist packages/pandas-0.8.0rc2-py2.7-linux-x86_64.egg/pandas/io/parsers.py”,第192行,已读
返回parser.get_chunk()
get_块中的文件“/usr/local/lib/python2.7/dist packages/pandas-0.8.0rc2-py2.7-linux-x86_64.egg/pandas/io/parsers.py”,第728行
索引=自聚集索引(索引)
文件“/usr/local/lib/python2.7/dist packages/pandas-0.8.0rc2-py2.7-linux-x86_64.egg/pandas/io/parsers.py”,第846行,在_agg_索引中
如果尝试解析日期和self.\u应该解析日期(self.index\u col):
文件“/usr/local/lib/python2.7/dist-packages/pandas-0.8.0rc2-py2.7-linux-x86_64.egg/pandas/io/parsers.py”,第874行,应解析日期
将i返回到_parse或将name返回到_parse
TypeError:“in”需要字符串作为左操作数,而不是int

我已经在GitHub上报告了这个bug(bug报告的最佳位置):


今天或明天应该有一个解决方案。

我修复了粘贴的堆栈跟踪中显示的解析器错误。但是,我想知道您的日期列是否命名为“TRUE”,或者您的意思是只传递一个布尔值?我还没有翻阅pandas的历史,但我知道在0.8中,作为时间序列API的一部分,我们支持更复杂的日期解析行为,所以这里我们将字符串值解释为列名。

Doh!是的,我确实想传递一个布尔值,我想你的解释解释了我在.7和.8之间看到的不同行为。当我正确地传递布尔值时,它在.8上执行时不会出错。谢谢嗯,我当时没有意识到我发现了一个bug。我只是假设我的代码中有个错误。张把我弄明白了。谢谢