假设我有一个csv
和一个timestamp
,但格式没有定义。它可以是任何格式和任何分隔符,如-mm/dd/yyyy hh:mm
或dd/mm/yyyy hh:mm:ss
或mm-dd-yyyy hh:mm
或dd-mm-yyyy hh:mm:ss
或类似的。
我正在尝试解析任何格式的日期。
这里:
dateparse = lambda dates: datetime.strptime(dates, '%m/%d/%Y %H:%M')
字符串
我们定义了如下格式的日期解析:%m/%d/%Y %H:%M
如果有人能给予任何有价值的建议,那么它将是有帮助的。
2条答案
按热度按时间wvt8vs2t1#
pandas.read_csv
有一个infer_datetime_format
参数:inerate_datetime_format:boolean,default False
如果启用True和parse_dates,pandas将尝试推断列中日期时间字符串的格式,如果可以推断,则切换到更快的解析方法。在某些情况下,这可以将解析速度提高约5- 10倍。
m0rkklqb2#
DuckDB是一个SQL OLAP DBMS,包括一个非常强大的CSV解析器,可以自动检测文件格式,标题,列类型等https://duckdb.org/2023/10/27/csv-sniffer.html
它还包括一个PythonAPI,可以直接或通过Conda使用DuckDB。
你只需要加载库并将CSV包含在内存表中
字符串
以便以后可以对表执行任何查询
型