转换数据类型,然后用Python将数据加载到Mysql中

2024-06-17 13:32:57 发布

您现在位置:Python中文网/ 问答频道 /正文

除了LOAD DATA INFILE命令之外,有没有其他方法可以将包含三列的.txt文件读入Mysql?我想逐行读取数据并将它们放入Mysql中的一个表中。在

在下面的LOAD DATA INFILE命令中不可能转换数据类型,对吗?在

LOAD DATA INFILE 'filename' into TABLE info (col1, col2, col3)

我的数据示例如下:

123456.123455   dsfd  wqoe   
123455.123237   dert  2222
098878.938475   lkjf  2346

因此,在将数据加载到Mysql之前,我需要将第一列从unix time转换为datetime,因为Mysql中第一列的数据类型是DATETIME,我想用FROM_UNIXTIME来解决这个问题。但是如何使用python变量作为FROM_UNIXTIME(fieldname)中的fieldname,这是一个Mysql命令?在

更新时间: 这是我的解决方案 我在表video中有三列,它们分别是datetime, src_ip, video_id 问题是,@unixtime变量只能保存一个值还是?既然我在mysql中的第一个专栏是完全一样的,也许它等于最后一个结果……我该怎么解决这个问题呢?在

insertQuery = "LOAD DATA LOCAL INFILE 'all-filter.txt' INTO TABLE video (@unixtime, src_ip, video_id); UPDATE video SET datetime=FROM_UNIXTIME(@unixtime)"


Tags: 数据from命令txtdatadatetimevideomysql
1条回答
网友
1楼 · 发布于 2024-06-17 13:32:57

我试过以下有效的方法:

create table info (s datetime not null primary key, str varchar(100), str2 varchar(100));

load data local infile '/home/maartenl/sample.txt' 
into table info (@s, str, str2) 
set s = from_unixtime(@s);

这和你的样品集很好。在

相关问题 更多 >