我正在尝试使用 odo python 包将从 Quandl 下载的简单 CSV 文件导入 MySQL 表
t = odo('C:\ProgramData\MySQL\MySQL Server 5.6\Uploads\WIKI_20160725.partial.csv', 'mysql+pymysql://' + self._sql._user+':'
+ self._sql._password +'@localhost/testDB::QUANDL_DATA_WIKI')
第一行在 CSV 中如下所示:
A 7/25/2016 46.49 46.52 45.92 46.14 1719772 0 1 46.49 46.52 45.92 46.14 1719772
MySQL表定义如下:
Ticker varchar(255) NOT NULL,
Date date NOT NULL,
Open numeric(15,2) NULL,
High numeric(15,2) NULL,
Low numeric(15,2) NULL,
Close numeric(15,2) NULL,
Volume bigint NULL,
ExDividend numeric(15,2),
SplitRatio int NULL,
OpenAdj numeric(15,2) NULL,
HighAdj numeric(15,2) NULL,
LowAdj numeric(15,2) NULL,
CloseAdj numeric(15,2) NULL,
VolumeAdj bigint NULL,
PRIMARY KEY(Ticker,Date)
它会引发异常 1292,其中包含以下信息:
sqlalchemy.exc.InternalError: (pymysql.err.InternalError) (1292, "不正确的日期值: '7/25/2016' 列 'Date' 在第 1 行") [SQL: 'LOAD DATA INFILE %(path)s \n INTO TABLE QUANDL_DATA_WIKI
\n 字符集 %(encoding)s\n FIELDS\n TERMINATED BY %(delimiter)s\n ENCLOSED BY %(quotechar)s\n ESCAPED BY %(escapechar)s\n LINES TERMINATED BY %( lineterminator)s\n IGNORE %(skiprows)s LINES\n '] [参数:{'path': 'C:\ProgramData\MySQL\MySQL Server 5.6\Uploads\WIKI_20160725.partial.csv', 'quotechar': ' "', 'skiprows': 0, 'lineterminator': '\r\n', 'escapechar': '\', 'delimiter': ',', 'encoding': 'utf8'}]
有谁知道第一行的日期有什么问题?它似乎与 MySql 数据库不匹配