我有一个包含数据字典的 word 文档。
例如,一个名为 FUEL 的变量描述如下:
FUEL -- What type of fuel does it take?
1 Gas
2 Diesel
3 Hybrid
4 Flex fuel
7 OTHER, SPECIFY
我想将文档转换为 PostgreSQL 表。你有什么建议吗?
我有一个包含数据字典的 word 文档。
例如,一个名为 FUEL 的变量描述如下:
FUEL -- What type of fuel does it take?
1 Gas
2 Diesel
3 Hybrid
4 Flex fuel
7 OTHER, SPECIFY
我想将文档转换为 PostgreSQL 表。你有什么建议吗?
一般来说,这类事情需要两个阶段:第一,使用文本处理工具和脚本或 Excel 之类的工具将数据处理成合理的表格格式。
一旦有了表格格式,将数据输出为CSV
(例如,使用 Excel 中的另存为)并在运行适当的命令以定义与 CSV 结构匹配的表结构后使用COPY
命令或 psql将其加载到 PostgreSQL 中。\copy
CREATE TABLE
编辑:鉴于更新的帖子,我想说您可能必须为此编写一个简单的解析器,除非文档包含内部结构化标记。将文档另存为纯文本。现在用 Perl 或 Python 之类的语言编写一个脚本,查找定义变量的标题,从该行中提取大写的变量名称和描述,然后读取编号选项,直到它用完并准备读取下一个变量。如果文档是统一结构的,这应该只需要几行代码和一些基本的正则表达式;你甚至可以在awk
. 让脚本编写 CSV 以便稍后导入,或者使用DBD::Pg
(Perl) 或psycopg2
(Python) 等数据库接口直接存储数据。
如果您不了解任何脚本工具,则您需要学习或非常擅长复制和粘贴。