问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

csv文转为ctl

发布网友 发布时间:2023-03-22 09:05

我来回答

1个回答

热心网友 时间:2023-05-11 02:59

说明:当CSV文件数据量很大时,我们可以使用cmd命令方法导入,此方法速度十分快,具体方法如下:

工具:Oracle ,sqlldr命令

1、建立一个文件夹,将csv文件,放入此文件夹。
如本文示例中文件夹路径:D:\LZL

2、在所要导进的oracle数据库建立表,此处我们建立表名为TEMP_TNB 空表。
注意事项:oracle表字段要和CSV文件对应

3、在第1步中,文件夹下,建立一个ctl文件。
使用文本编辑器(记事本)即可,然后将后缀txt改为ctl,在本示例中,我建立一个名为input.ctl的文件,内容参考,如下:
在这里插入图片描述
代码内容:
options (skip=1,rows=1000)
LOAD DATA
CHARACTERSET AL32UTF8
INFILE ‘D:\LZL\tnb.csv’
truncate
INTO TABLE “TEMP_TNB”
fields terminated by ‘,’
optionally enclosed by ‘"’
trailing nullcols
(C1,
C2,
C3,
C4,
C5,
C6
)

ctl文件中代码内容解释如下:
options (skip=1,rows=1000) – sqlldr 命令显示的选项可以写到这里边来,skip=1 用来跳过数据中的第一行 – rows 默认是64,你可以根据实际指定更合适的 ROWS 参数来指定每次提交记录数。
LOAD DATA --固定格式 ,加载数据
CHARACTERSET AL32UTF8 --指定外部文件的字符集,如果数据库是GBK字符集,导入的数据文件是UTF-8,则此处为AL32UTF8 ,如果字符集,导入的文件与数据一致,此处可以省略,如果导入数据库后内容有乱码,可以逐重查看此处命令行。
INFILE ‘D:\LZL\TNB.csv’ --指定外部数据文件,可以写多个,INFILE"another_data_file.csv" 来指定多个数据文件
BADFILE ‘E:\test\T_ORDER_DETAIL.bad’ – BADFILE 来指定坏数据,可以不写
DISCARDFILE ‘E:\test\T_ORDER_DETAIL.dis’ --DISCARDFILE 指定丢弃数据的文件,可以不写
APPEND --操作类型,可以有insert,append,replace,truncate
INTO TABLE “TEMP_TNB” --目标表 TEMP_TNB 表名要大写
Fields terminated by “,” --导入的数据中每行记录用 “,” 分隔,并不是数据库中的数据,csv文件固定格式
Optionally enclosed by ‘"’ – 导入的数据中每个字段用 ‘"’ 框起,比如字段中有 “,” 分隔符时,csv文件固定格式
trailing nullcols --表的字段没有对应的值时允许为空
(
C1,
C2,
C3,
C4,
C5,
C6
)

说明:在操作类型 truncate 位置可用以下中的一值:

insert --为缺省方式,在数据装载开始时要求表为空
append --在表中追加新记录
replace --删除旧记录(用 delete from table 语句),替换成新装载的记录
truncate --删除旧记录(用 truncate table 语句),替换成新装载的记录
xx.csv文件在表格里面存储形式为 “ xxx”,“xxxx”,“xxxx”
因此这两个参数添加上
Fields terminated by “,”
Optionally enclosed by ‘"’
尤其是在数据库里面为number类型的,否则导入的要么是字符型的,要么导入不成功。
————————————————
4、控制台cmd命令行,转到CSV目录下
在这里插入图片描述
5、打开命令窗口后,输入如下命令代码并按enter键即可:

sqlldr userid=ehr_hns/ehr_hns@127.0.0.1:1521/gw control= ‘D:\LZL\input.ctl’ log=‘D:\LZL\INPUT_log.log’

代码解释:ehr_hns 为username;ehr_hns@127.0.0.1/gw 为PL/SQL账户(在最上面)
control= 后面加上ctl控制文件路径
log= 后面加上日志文件路径
最后运行成功如下:
在这里插入图片描述
日志文件,成功,如下图示:
在这里插入图片描述

文章知识点与官方知识档案匹配
MySQL入门技能树使用数据库 创建和删除数据库
28655 人正在系统学习中
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
黑色芳纶哪家的好一些? 苏子叶我们中国叫什么苏子叶在中国叫什么 福州小车过户多少钱啊 福州车辆过户要多少钱 民生山西怎么查不到医疗保险信息 app查询养老金医疗保险方法介绍_百度... 太原医保查询平台(附入口二维码) 鉴定伤残等级去哪个部门 2024年中国铝业集团高管团队名单 2024中铝集团董事会成员一览 右枕位胎儿图怎么睡 一鸣楼宇对讲,刷卡开不了门,但分机能开,对讲能用,怎样维修? 金铲铲银龙骑士召唤积分怎么使用 华硕的防静电清洁剂能喷屏幕吗 我和别人聊天记录第三个人咋截屏了啊? 下水道堵了,家里损失找赔 物业案例分析:公共管道堵塞造成家庭损失由谁承担? 不锈钢地漏怎么样 如何能选购一款好地漏 邦天下 不锈钢水槽,是最好的不锈钢水槽吗? 中药渣倒马桶会自己通么 朋友们帮帮忙怎么办,我平时喝中药,我把中药到进马桶现在堵住了怎么 广州租车网多少钱一天 冰箱内烂了个洞怎么补 三年级的海底两万里读后感5篇 梦见屋里大便的预兆 梦见室内有屎的预兆 阅读下面一首诗,完成1-2题 未展芭蕉 钱珝冷烛无烟绿蜡干,芳心犹卷怯春寒。一缄书札藏何事,会被 梦见过世亲人给自己穿鞋的预兆 梦见给老人穿鞋的预兆 梦见死去的老人穿鞋的预兆 当之有愧造句 庠的形近字是什么 笔记本清洁剂可以用来清洁手机吗? pvc管断在地下下水管会堵吗 商铺下水道堵归谁管 用镜片擦拭速干湿巾擦拭苹果12手机钢化膜与屏幕间的缝隙100次会不会划伤屏幕使屏幕进水? 一楼下边是一层商铺同层排水一楼容易堵吗 小区一楼商铺蹲式厕所突然冲水下水很慢。。。是堵了还是池子满了? 我家住顶楼,楼顶上有跟白色的通气管用不上了想封死,我用发泡填充剂把管子填实了,这样时间长了能经得住 如何用加入微信群 我是居民楼我们一至五是一个下水道一楼业主把下水道堵死了,不让我们用,这样? 一楼住户封死下水道合法吗物业该不该管? 频繁的去做流产,会对女性的身体产生哪些危害? 微信加几个四五百人的群会不会导致无响应? 怎样找回以及密码 微信公众号账号和密码丢了,还能找回吗?只知道用户名和 只记得用邮箱登录过,其他都忘记了。用邮箱发找回密码又收不到邮件,怎么找回? 微信找回密码怎么弄啊?在这卡住了,求解。 为什么我找回微信支付密码,输入完银行卡等等程序后,念证后就直接闪 找回密码频繁要等多久? 怎样使用QQ空间小秘书群发消息 手机消息延迟怎么回事?