使用不同的日期格式将txt导入MySQL

时间:2018-01-17 18:33:39

标签: python mysql stock-data

我想要做的是将txt中的“12/26/17 14:30”转移到MySQL中的“2017-12-26 14:30:00”

我已经尝试了这个Importing a CSV to MySQL with different date format0

所以我的代码看起来像这样

 create_tb_str = r'''DROP TABLE IF EXISTS TABLENAME;
        CREATE TABLE TABLENAME (
        Datetime DATETIME,
        Open float(8,3),            
        High float(8,3),            
        Low float(8,3),             
        Close float(8,3), 
        Volume INT,                           
        PRIMARY KEY (Datetime)
        );'''
insert_tb_str = r''' LOAD DATA LOCAL INFILE 'FILENAME'  
INTO TABLE  TABLENAME  FIELDS TERMINATED BY '\t\t'  
ENCLOSED BY '"' LINES
TERMINATED BY '\n' 
(@time, open, high, low, close, @dummy, volume);
SET Datetime = STR_TO_DATE(@time,'%y-%m-%d %H:%i:%S');   
'''

然而,在我生成.sql并尝试导入到我的数据库之后,这是我得到的结果,终端无法识别我的表的列名。

$:~/Downloads/bartest$ mysql -u root -p bar -A < bartest.sql
Enter password: 
ERROR 1193 (HY000) at line 21: Unknown system variable 'Datetime'

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

STR_TO_DATE(@time,'%y-%m-%d %H:%i:%S');返回null,因为它与字符串输入模式不匹配。

尝试这样的事情:STR_TO_DATE('12/26/17 14:30','%m/%d/%y %k:%i');

在DATE中提取后,将其转换为所需的日期格式。

要一步完成,您还可以尝试:&#34; SELECT CONVERT(datetime,&#39; 12/26/17 14:30&#39;);&#34;

希望有所帮助!