【发布时间】:2016-10-13 16:51:21
【问题描述】:
我正在读取一个 csv 文件。每行都有不同的值,但我只对第一个和第二个值感兴趣,它们的格式如下:
2015-11-02 10:07:33,2015-11-02 10:07:52
我需要获取两者之间的经过时间。我的代码是:
file = pd.read_csv('file.csv', header=None, skiprows=1, index_col=False,
chunksize=1000000, usecols=[1, 2], names=['ts', 'te'], na_values=['n/a','N/A','nan','NaN'],
dtype={'ts':datetime, 'te':datetime})
for chunk in file:
chunk['duration'] = chunk['te']-chunk['ts']
但我收到以下错误:
TypeError: 不支持的操作数类型 -: 'str' 和 'str'
我能做什么?非常感谢。
更新: 我的问题解决了。但是现在我需要将每次经过的块转换为浮点数。谢谢。
【问题讨论】:
-
长话短说:使用
parse_dates=['ts', 'te']。 -
由于 Python 使用从 0 开始的索引,因此要读取第一列和第二列,请使用
usecols=[0, 1]。 -
请不要将问题编辑为新问题,尤其是。不要将已回答的问题扩展到新问题。
-
@IljaEverilä 好的,抱歉
标签: python csv datetime pandas