目前我正在使用的文本文件恰好包含彼此相邻的所有数据,例如以下string
:AB005103012ES-** OF**MID115748607.83
但是,我需要将其上传到MYSQL
数据库,因此理想情况下,翻译后的格式会将代码用逗号分隔,如下所示:
AB00,51,0301,2,ES-**, ,O,F,**,M,I,D,1,157486,07.83
我正在处理大约1400万行,并且每次逗号都会出现在相同的字符位置。因为第一个逗号会出现在每行的第4个字符之后,第二个逗号将出现在每行的第6个逗号之后,依此类推。
有没有办法在MYSQL
中快速实现这一点,或者失败了,另一个可以轻松运行的简单程序?
答案 0 :(得分:0)
您可以使用INFILE和SUBSTR(substring)命令。
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);
答案 1 :(得分:0)
我会在记事本++中运行一个简单的宏