我有从其他软件生成的关于人体基因的文本文件,我需要将它们插入到桌子中并根据需要制作表格,我有15个不同的文本文件进入一个表格,作为15个不同的列
GFER = 3.58982863
BPIL1 = 3.58982863
BTBD1 = 4.51464898
BTBD2 = 4.40934218
RPLP1 = 3.57462687
PDHA1 = 4.19320066
LRRC7 = 4.50967385
HIGD1A = 4.46876727
上面显示的是文本文件中的数据,基因名称和距离。我需要将它包含在一个表中,基因名称在一个单独的列中,距离在一个单独的列中,此文本文件有3500行,我有14个文本文件的数据,如何在不手动插入的情况下将此数据输入到表中?您知道的任何自动化软件或工具?请帮帮我!
的问候, Rangana
答案 0 :(得分:3)
mysqlimport命令应该直接加载它,http://dev.mysql.com/doc/refman/5.0/en/mysqlimport.html如果你用一个小技巧告诉它=符号是字段分隔符。
壳> mysqlimport blah blah --fields-terminated-by ==
如果这不起作用,请给自己写一个小例程来读取文件,拆分=符号,然后用逗号或更接近mysqlimport想要看作默认值的东西替换它。
答案 1 :(得分:2)
你需要一个导入向导,不能说我个人使用了一个与mysql(但与其他DBMS一起)的快速谷歌节目this might be what you need。我有一种感觉phpMyAdmin曾经有过这样的功能。
答案 2 :(得分:1)
首先将表格创建为:
mysql> create table gene (name varchar(10), distance double);
然后导入文件:
mysql> load data infile '/tmp/gene.txt' into table gene columns terminated by ' = ';
该文件需要位于运行mysql可执行文件的用户可以访问的位置。
你也可以在mysql shell之外使用mysqlimport。它连接到服务器并发出等效的load data infile命令。
我用你的样本数据对上面的内容进行了测试,结果很有效。
答案 3 :(得分:1)
我有15个不同的文本文件,这些文件放在一个表中,作为15个不同的列。
你的意思是30列吗?从每个文件加载2列?
您可能必须使用=(两边都有空格作为分隔符)。正如肯所说,如果不这样做,请搜索并将“=”替换为逗号“,”。
如果你有SSIS,这可以很快完成。设置15个输入文件并将每个文件映射到一对列,例如:
File1 ...映射到... Column1&列2
File2 ...映射到... Column3& Column4
等
或者您可以将15个文件(可以使用Excel轻松完成)合并为包含30列的1个文件并加载。
答案 4 :(得分:0)
我已经做到了,它可能看起来很奇怪,但我在这里添加了一些,以了解它是否有价值,我已经使用开放式办公电子表格打开了那些数据文件,开放式办公室有这个分离数据的惊人功能归档到不同的列。所以我使用它们并分离我的数据文件列并将其保存为excel文件(.xls),然后使用m.edmondson建议的“sqlmaestro”,使用该软件导入数据作为excel文件功能,我能够实现我的任务。
谢谢大家的宝贵答案,他们肯定会为我的知识增添新的东西!再次感谢大家!