1

我允许用户通过 OHS/mod_plsql 上传 .csv 文件。该文件在数据库中保存为 BLOB 文件,然后我将其转换为 CLOB。然后我想获取这个 CLOB 文件的内容并将其内容保存到一个表中。我已经有一些工作代码可以根据行尾拆分文件,然后将每个结果字符串沿逗号拆分并插入记录。

我需要一种方法来处理 CSV 中的字符串用双引号括起来并包含逗号的情况。例如:

col1,col2,col3,col4
一些,文本,更多,文本
this,text,has,"逗号、分号和句点"

我的代码将知道如何处理第二行,但不知道如何处理第三行。有没有人有一些代码足够聪明,可以将“逗号、分号和句点”视为单个标记?我可能可以一起破解一些东西,但我对我的正则表达式技巧不够信任,而且我认为其他人可能已经写了一些愿意分享的东西。

4

1 回答 1

2

There's a good CSV parser in the Alexandria PL/SQL Library - CSV_UTIL_PKG.

https://code.google.com/p/plsql-utils/

More info:

http://ora-00001.blogspot.com.au/2010/04/select-from-spreadsheet-or-how-to-parse.html

于 2013-05-01T05:19:49.460 回答