将固定宽度的文本文件导入sqlite

时间:2012-09-14 11:52:47

标签: sqlite text fixed-width

将固定宽度的文本文件导入sqlite表的好方法是什么,最好不使用外围软件?

E.g。指定每个字段的宽度

Field 1: 10 characters starting with the second character
Field 2: 5  characters starting with the twelfth character
Field 3: 7  characters starting with the eighteenth character

该行

AABCDEFGHIJABCDEAABCDEFGA

将导入为:

Field 1     Field 2  Field 3
ABCDEFGHIJ  ABCDE    ABCDEFG

由于

2 个答案:

答案 0 :(得分:6)

上面答案中的链接是针对通用SQL的。以下是在SQLite中执行此操作的一种方法:

CREATE TABLE fixed_width_table (full_string CHAR);
.import fixed_width_file.txt fixed_width_table

CREATE TABLE tmp AS
Select
    SUBSTR(full_string,1,11) AS field1
    ,SUBSTR(full_string,2,5) AS field2
    ,SUBSTR(full_string,2,7) AS field3
FROM fixed_width_table

答案 1 :(得分:0)

sqlite3工具仅导入CSV文件。

有第三方工具可以导入固定宽度的文件,但this answer显示了如何在SQLite中使用字符串函数执行此操作。