使用 python 将整个文本文件加载到数据库中

Load entire text file in database using python

我想将包含两个由定界符 || 分隔的字段的整个文本文件加载到我的 netezza 数据库中。 由于数据集很大,每行插入 n 会降低我的性能。

我的文本文件是这样的:

ING BANK, N.V.||520639
STANDARD CHARTERED BANK MALAYSIA BERHAD||483551
VJA||492287

能否请您帮忙建议一下如何一次性将我的文件上传到数据库中?

谢谢。

如果您通过 ODBC 连接将数据远程加载到 Netezza,您可以使用以下语句作为模板。在其中,我通过通用 SQL 开发工具使用 ODBC 连接从本地文本文件加载到我的 windows 工作站。

INSERT INTO BNK_CDE_TEST
SELECT *
FROM external 'c:\bankdata.TXT'
USING (DELIMITER '|' REMOTESOURCE 'ODBC');

请务必注意,Netezza 不支持多字符列定界符。你要么需要预处理你的数据来转换你的'||'其他东西的分隔符,或者你需要在我们使用'|'的地方执行如下技巧作为分隔符,以便 '||'被视为垃圾空列周围的两个分隔符。

INSERT INTO BNK_CDE_TEST
SELECT COL1,   COL2
FROM external 'c:\bankdata.TXT' (COL1 VARCHAR(100), junkcol INT, col2 bigint)
USING (DELIMITER '|' REMOTESOURCE 'ODBC');