文本拆分读入分组后入库

本文档提出一个问题,如何将一个txt文件中的数据,按特定格式存入Oracle 10g数据库。内容包括分类名和文本,要求相同分类的内容合并。解决方案是使用SPL脚本,通过读取文件、处理数据、按分类分组和内容拼接,最后将处理后的数据写入数据库。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

【问题】

有一个 txt 文档,格式如下:

[分类名1] 文本内容1
[分类名1] 文本内容2
[分类名2] 文本内容3

如何写入数据库中(oracle 10g) 
要求 [] 不写入数据库,[分类名]和文本内容用空格隔开,各行之间有空格,如果分类名相同则只能在数据库中存在一条记录,而分类名相同的文本内容都要追加到这条记录上. 

【回答】

相比JAVA复杂的硬代码,用SPL做会比较简单,还能方便嵌入JAVA(参考Java 如何调用 SPL 脚本),脚本如下:

A
1=file("E:\\s.txt").import@i()
2=A1.select(~).(~.split@t(" ")).new(left(mid(~(1),2),-1):分类,~(2):内容)
3=A2.group(分类).new(~.分类,~.(内容). concat@c():内容)
4>db.update(A3,tableName,col1:分类,col2:内容)

A1  : 读取文本文件s.txt中的内容,返回成序列。

undefined

A2  :去空行,拆分序列,创建以分类和内容为列的序表,并去除分类列数据两边的括号。

undefined

A3  :按分类分组,将分类相同的内容拼接到一起。

undefined

A4  :写入数据库db中,db为数据源中配置好的数据源连接。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值