0

现在,我正在使用一个文本文件,该文件恰好包含所有数据,如下所示stringAB005103012ES-** OF**MID115748607.83

但是,我需要将其上传到MYSQL数据库,因此理想情况下,翻译后的格式将使用逗号分隔代码,如下所示:

AB00,51,0301,2,ES-**,  ,O,F,**,M,I,D,1,157486,07.83

我正在处理大约 1400 万行,逗号每次都会出现在同一个字符位置。因为第一个逗号出现在每行的第 4 个字符之后,第二个逗号出现在每行的第 6 个逗号之后,依此类推。

有什么方法可以在MYSQL另一个可以轻松运行的简单程序中快速实现这一目标或失败?

4

2 回答 2

0

您可以将 INFILE 与 SUBSTR(子字符串)命令一起使用。

http://dev.mysql.com/doc/refman/5.1/en/load-data.html

要加载具有固定宽度列的文本文件,我使用了以下形式:

LOAD DATA LOCAL INFILE '<file name>' INTO TABLE <table>
(@var1)
SET Date=str_to_date(SUBSTR(@var1,3,10),'%m/%d/%Y'), 
Time=SUBSTR(@var1,14,8), 
WindVelocity=SUBSTR(@var1,26,5),
WindDirection=SUBSTR(@var1,33,3),
WindCompass=SUBSTR(@var1,38,3),
WindNorth=SUBSTR(@var1,43,6),
WindEast=SUBSTR(@var1,51,6),
WindSamples=SUBSTR(@var1,61,4);
于 2012-07-27T00:55:40.920 回答
0

我会在记事本++中运行一个简单的宏

于 2012-07-27T01:02:41.850 回答