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

     2023-05-08     149

关键词:

【中文标题】使用python将整个文本文件加载到数据库中【英文标题】:Load entire text file in database using python 【发布时间】:2015-02-16 07:06:01 【问题描述】:

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

我的文本文件是这样的:

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

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

谢谢。

【问题讨论】:

我尝试使用 LOAD DATA INFILE 但抛出错误。回溯(最近一次调用最后一次):文件“”,第 1 行,在 curs.execute(sql ) ProgrammingError: ('42000', '[42000] ERROR: \'LOAD DATA INFILE \'bankdata.TXT\'\n INTO TABLE INS_EDW_QA.dbo.BNK_CDE_TEST\n FIELDS TERMINATED BY \'||\'\n LINES TERMINATED BY \'\n\'\'\nerror ^ 发现“DATA”(在字符 6 处)期望 `SCONST\' (27) (SQLExecDirectW)') 您能否建议这里有什么问题或建议其他方法来一次性加载文件? 您似乎正在使用 MySQL 加载语法,但据我了解,您正试图将数据加载到 Netezza 中?您是在 Netezza 服务器上本地运行 python 脚本,还是通过 ODBC 连接远程运行它? 我通过 pyodbc 连接到 netezza。使用此代码进行连接,conn = pyodbc.connect(dsn='NZSQL')。我在本地运行 python 2.7。 【参考方案1】:

如果您通过 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');

【讨论】:

非常感谢。信息真的很有帮助。我将分隔符更改为“|”并尝试运行第一个命令。我收到此错误:错误:('HY000','[HY000] 打开数据文件(38)(SQLExecDirectW)时发生错误')。请提出这里有什么问题。 这表明“FROM EXTERNAL...”后面的路径在某些方面不正确。查看您上面的评论,您可能正在使用相对路径。以这种方式加载需要完整的路径规范。此外,由于双定界符“||”,我给出的第一个示例可能不适用于您的特定情况。对于您的测试,我会说尝试使用完整路径的答案中的第二个。

oracle 将文本文件中的数据加载到表中

...间】:2010-09-2010:30:41【问题描述】:我有2个问题。除了使用SQL加载器之外,还有其他方法可以将数据从.txt文件加载到Oracle中的表吗?如何将表中的数据卸载到文本文件中?请有人帮帮我。提前致谢。【问题讨论】:【参考方案1... 查看详情

python以块的形式读取文件而不将整个文件加载到内存中。(代码片段)

查看详情

如何使用python3将输入数据存储到文本文件中并打印数据输出?

】如何使用python3将输入数据存储到文本文件中并打印数据输出?【英文标题】:Howtostoreinputdatausingpython3intotextfileandprintthedataoutput?【发布时间】:2021-02-1517:03:00【问题描述】:我对python完全陌生,所以我不知道我应该通过使用用... 查看详情

将使用 Python 从 Twitter 检索到的数据保存到文本文件中?

】将使用Python从Twitter检索到的数据保存到文本文件中?【英文标题】:SavingDataretrievedfromTwitterutilizingPythontoatextfile?【发布时间】:2012-05-0202:23:03【问题描述】:大家好,我目前正在做一些研究,并正在使用twitterapi来收集信息。... 查看详情

合并大文件而不将整个文件加载到内存中?

...:我想将包含字符串的大文件合并到一个文件中,并尝试使用nio2。我不想将整个文件加载到内存中,所以我用BufferedReader进行了尝试:publicvoidmergeFiles(filesToBeMerged)throws 查看详情

使用 Apache Pig 将数据加载到 Hbase 表时,如何排除 csv 或文本文件中没有数据(只有空格)的列?

】使用ApachePig将数据加载到Hbase表时,如何排除csv或文本文件中没有数据(只有空格)的列?【英文标题】:WhileloadingdatausingApachePigtoHbasetable,Howtoexcludecolumnswherethereisnodata(justwhitespace)incsvortextfileforarow?【发布时间】:2017-11-2112:50:2... 查看详情

有没有办法使用 Databricks 将多个文本文件加载到单个数据框中?

】有没有办法使用Databricks将多个文本文件加载到单个数据框中?【英文标题】:IsthereawaytoloadmultipletextfilesintoasingledataframeusingDatabricks?【发布时间】:2019-10-0215:56:28【问题描述】:我正在尝试测试一些想法,以递归循环遍历文件... 查看详情

Filehandle 类将整个文件加载到内存中

】Filehandle类将整个文件加载到内存中【英文标题】:Filehandleclassloadingwholefileintomemory【发布时间】:2019-06-1712:11:40【问题描述】:我正在尝试按顺序从大文件中读取数据。由于文件可能比可用内存大,我不希望文件完全加载到内... 查看详情

使用 Java 将嵌套地图保存并加载到文本文件中

】使用Java将嵌套地图保存并加载到文本文件中【英文标题】:SaveandLoadnestedMapintotextfileusingJava【发布时间】:2015-01-1208:59:15【问题描述】:我有一个嵌套的MAP。我想将这些地图保存在一个文本文件中,然后在另一个项目中使用这... 查看详情

如何使用 Swift 将文本文件逐行加载到数组中?

】如何使用Swift将文本文件逐行加载到数组中?【英文标题】:HowdoIloadatextfilelinebylineintoanarraywithSwift?【发布时间】:2014-06-0414:26:04【问题描述】:如何将文本文件逐行加载到带有swift的array中?【问题讨论】:查看这篇文章以获... 查看详情

使用 Delphi 将文本文件加载到 MS ACCESS TABLE

...我在尝试使用Delphi将制表符分隔的文本文件加载到MSACCESS数据库表中时遇到一些问题。到目前为止,我已经能够创建一个新的Access数据库和表,但是当我尝试在其中加载数据时,我得到一个带有消息的EOLeExc 查看详情

如何将文本文件中的原始数据加载到熊猫数据框中?

】如何将文本文件中的原始数据加载到熊猫数据框中?【英文标题】:howtoloadrawdatainatextfileintopandasdataframe?【发布时间】:2018-05-1106:13:58【问题描述】:我的数据在一个文本文件中,格式如下:标题1:废话标题2:废话heading3:bla... 查看详情

逐行读取文件而不将整个文件加载到内存中

...memory【发布时间】:2014-04-2622:22:57【问题描述】:我正在使用50GbMySQL导出文件,并对其执行脚本操作列表以转换为SQLite3可加载表单(我从这里得到线索:scripttoconvertmysqldumpsqlfileintoformatth 查看详情

WebFlux WebClient 在分段上传期间将整个文件加载到直接缓冲内存中

...upload【发布时间】:2019-12-1502:54:19【问题描述】:我正在使用SpringBoot2.1.6.RELEASE和Webflux构建应用程序我们有一个端点,我们可以使用分段上传文件,并使用 查看详情

从文本文件加载数据然后将其存储到数据库中的最快方法

】从文本文件加载数据然后将其存储到数据库中的最快方法【英文标题】:Fastestwaytoloaddatafromtextfilethenstoreitintodatabase【发布时间】:2011-02-1113:56:22【问题描述】:我有问题。我正在开发一个项目,但我被困在这部分:我想从文... 查看详情

使用 Axios 将整个 HTML 项目加载到 VueJS 组件中

】使用Axios将整个HTML项目加载到VueJS组件中【英文标题】:LoadanentireHTMLprojectintoVueJScomponentwithAxios【发布时间】:2021-08-1602:43:03【问题描述】:我正在处理一个需要在我的Rails/Vue项目中呈现的3DVistatourweb存储库。这是从3Dvista导出... 查看详情

通过消除重复将数据从文本文件加载到mysql数据库

】通过消除重复将数据从文本文件加载到mysql数据库【英文标题】:Loadingdatafromtextfiletomysqldatabasebyeliminatingduplicates【发布时间】:2011-12-1405:56:49【问题描述】:我想将数据从文本文件加载到数据库,如果数据已经存在,我需要在... 查看详情

AS3 将多个文本框数据保存并加载到本地文件

...存的表单加载回适当的文本框中。我找到了一些关于如何使用单个文本框执行此操作的很好的示例 查看详情