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