📜  从字符串到时间 python 数据框 - Python (1)

📅  最后修改于: 2023-12-03 15:36:17.728000             🧑  作者: Mango

从字符串到时间 python 数据框

在数据处理的过程中,我们可能会遇到需要把字符串转化为时间格式的情况。Python提供了多种方法可以实现这个过程,本文将介绍一些常用的方法。

1. strptime函数

datetime.strptime函数可以把字符串转化为时间类型。这个函数需要两个参数,第一个参数为待转化的字符串,第二个参数为该字符串的格式。这个函数返回一个datetime对象。

import datetime

date_string = "2022-08-08 08:08:08"
date_format = "%Y-%m-%d %H:%M:%S"

date_time = datetime.datetime.strptime(date_string, date_format)

print(date_time)

输出结果:

2022-08-08 08:08:08
2. pandas.to_datetime函数

pandas.to_datetime函数可以把一个字符串数组转化为时间类型。这个函数可以自动识别字符串的格式。

import pandas as pd

date_string_array = ["2022-08-08 08:08:08", "2022-08-08 08:08:09", "2022-08-08 08:08:10"]

date_time_series = pd.to_datetime(date_string_array)

print(date_time_series)

输出结果:

DatetimeIndex(['2022-08-08 08:08:08', '2022-08-08 08:08:09',
               '2022-08-08 08:08:10'],
              dtype='datetime64[ns]', freq=None)
3. csv文件读取

当从csv文件中读取数据时,我们可以通过设置pandas.read_csv函数的parse_dates参数为True,自动把字符串转化为时间。

import pandas as pd

data_frame = pd.read_csv("data.csv", parse_dates=["date"])

print(data_frame)

其中data.csv文件内容为:

date,value
2022-08-08 08:08:08,1
2022-08-08 08:08:09,2
2022-08-08 08:08:10,3

输出结果:

                 date  value
0 2022-08-08 08:08:08      1
1 2022-08-08 08:08:09      2
2 2022-08-08 08:08:10      3
4. SQL数据库读取

当从SQL数据库中读取数据时,我们可以通过设置pandas.read_sql函数的parse_dates参数为列名,自动把字符串转化为时间。

import pandas as pd
import sqlite3

connection = sqlite3.connect('example.db')

data_frame = pd.read_sql('SELECT * FROM data', connection, parse_dates=['date'])

print(data_frame)

其中example.db数据库的数据为:

CREATE TABLE "data" (
	"date" DATETIME,
	"value" INTEGER
);

INSERT INTO "data" VALUES ('2022-08-08 08:08:08',1);
INSERT INTO "data" VALUES ('2022-08-08 08:08:09',2);
INSERT INTO "data" VALUES ('2022-08-08 08:08:10',3);

输出结果:

                 date  value
0 2022-08-08 08:08:08      1
1 2022-08-08 08:08:09      2
2 2022-08-08 08:08:10      3

本文介绍了四种把字符串转化为时间类型的方法,分别是datetime.datetime.strptime函数、pandas.to_datetime函数、pandas.read_csv函数和pandas.read_sql函数。这些方法可以根据不同的应用场景选择使用。