Python 如何使用熊猫解析CSV文件?

Python 如何使用熊猫解析CSV文件?,python,pandas,csv,bigdata,Python,Pandas,Csv,Bigdata,现在我有了一个.csv文件,其中有一列时间,例如“20140203 00:00:03.132”,如何有效地删除秒部分(“03.132”)?数据量很大,我尝试使用sed预处理数据,但速度太慢了 我现在正在尝试解析熊猫中的.csv文件。我能有效地处理这件事吗?欢迎使用熊猫以外的方法 有一个方便的库用于解析时间戳: 或者,由于它对于大量数据来说有点慢,您可以从第一个:的右侧拆分,然后获取结果列表的第一个元素: print x.rsplit(':', 1)[0] # 20140203 00:00 有

现在我有了一个.csv文件,其中有一列时间,例如“20140203 00:00:03.132”,如何有效地删除秒部分(“03.132”)?数据量很大,我尝试使用sed预处理数据,但速度太慢了


我现在正在尝试解析熊猫中的.csv文件。我能有效地处理这件事吗?欢迎使用熊猫以外的方法

有一个方便的库用于解析时间戳:

或者,由于它对于大量数据来说有点慢,您可以从第一个
的右侧拆分,然后获取结果列表的第一个元素:

print x.rsplit(':', 1)[0]  # 20140203 00:00

有一个方便的库用于解析时间戳:

或者,由于它对于大量数据来说有点慢,您可以从第一个
的右侧拆分,然后获取结果列表的第一个元素:

print x.rsplit(':', 1)[0]  # 20140203 00:00

看一下
date\u解析器
参数的作用。这样做应该会奏效:

import dateutil
from pandas import read_csv

def my_date_parser(seq):
    return [dateutil.parser.parse(s[:14]) for s in seq]

csv = read_csv('file.csv', parse_dates=[3], date_parser=my_date_parser)

您可能还需要提供参数
parse_dates
,以确定包含日期字符串的列,例如,上面指定第3列为日期列。

查看
date_parser
参数的作用。这样做应该会奏效:

import dateutil
from pandas import read_csv

def my_date_parser(seq):
    return [dateutil.parser.parse(s[:14]) for s in seq]

csv = read_csv('file.csv', parse_dates=[3], date_parser=my_date_parser)

您可能还需要提供参数
parse_dates
来确定包含日期字符串的列,例如,上面指定第3列为日期列。

我尝试过,但考虑到数据量太大,速度太慢。@xxx222很公平。您可以像这样拆分最后一个
上的字符串打印x.rsplit(':',1)[0],这将产生相同的结果,这将是一个快速的操作。我尝试过,但考虑到数据量太大,速度很慢。@xxx222很公平。您可以像这样拆分最后一个
打印x.rsplit(“:”,1)[0]上的字符串,这将产生相同的结果,这将是一个快速的操作。如果您没有集群来执行该操作,那么您尝试的任何操作都会很慢,因为这将在一台机器上完成,而且可能不是最快的方法。。。好吧,它只是使用标准的csv模块,还有额外的处理,包括试图将所有内容强制为数据类型;字符串操作更快,因此仅使用迭代csv读取器会更快。我们讨论的数据量是多少?如果您没有集群来执行操作,那么您尝试的任何操作都会很慢,因为这都是在一台机器上完成的,而且可能不是最快的方法。。。好吧,它只是使用标准的csv模块,还有额外的处理,包括试图将所有内容强制为数据类型;字符串操作更快,因此仅使用迭代csv读取器会更快。我们在谈论多少数据?