CSV文件打不开
CSV打开方法1:右键CSV文件,d出菜单中选择打开方式,然后选择使用windows系统自带的写字板或者记事本打开。
也可以先打开写字板或者记事本程序,然后点击打开,选择文件即可。
下面是用记事本打开CSV文件的截图:
下面是用excel程序打开CSV文件的截图:
当然,CSV文件打开的方式还有很多种,但我相信有以上两种方法基本可以满足您的需求了。小编在日常的工作学习中也经常会碰到一些CSV文件处理,个人还是习惯用excel打开。当然具体情况还是根据您的需求来了。
以EXCEL开启会将其CRC之数值改做科学记号方式储存,而造成档案中的CRC值发生错误。数据文件过大、数据库负载过高。
1、导入的文件过大,会导致导入过程超时,可以考虑分段导入或者进行切割。
2、导入时数据库负载过高,会导致超时,可以尝试等待一段时间后再次导入,或者增加数据库资源(例如CPU、Memory等)。A、有一个比较麻烦但保证成功的方法。
1、在本地创建一个Access数据库,将Excel数据先导入到Access。可直接导入点击鼠标右键,选择导入,文件类型选择要导入的Excel文件,也可通过创建宏用TransferSpreadsheet函数实现。
2、在本地创建ODBC,链接oracle数据库。将oracle中需要导入数据的表以链接表的方式在本地Access中创建(千万不要使用导入表)。
3、在Access数据库中创建插入查询将导入好的Excel数据导入到oracle中。
此方法保证成功。
B、也可以导入sql server 用它的导出工具导入oracle 但对一些image字段支持不好,你如果
没这种字段就行。
用MS_sqlserver 提供的数据导出导入功能可以方便的把excel方便的导入oracle数据库
C、一种方法:
先把Excel另存为csv格式文件,如testcsv,再编写一个insertctl
用sqlldr进行导入!
insertctl内容如下:
load data --1、控制文件标识
infile 'testcsv' --2、要输入的数据文件名为testcsv
append into table table_name --3、向表table_name中追加记录
fields terminated by ',' --4、字段终止于',',是一个逗号
(field1,
field2,
field3,
fieldn)-----定义列对应顺序
注意括号中field排列顺序要与csv文件中相对应
然后就可以执行如下命令:
sqlldr user/password control=insertctl
有关SQLLDR的问题
控制文件:inputctl,内容如下:
load data --1、控制文件标识
infile 'testtxt' --2、要输入的数据文件名为testtxt
append into table test --3、向表test中追加记录
fields terminated by X'09' --4、字段终止于X'09',是一个制表符(TAB)
(id,username,password,sj) -----定义列对应顺序
其中append为数据装载方式,还有其他选项:
a、insert,为缺省方式,在数据装载开始时要求表为空
b、append,在表中追加新记录
c、replace,删除旧记录,替换成新装载的记录
d、truncate,同上
问题:SQLLDR能不能保留表中原有的数据,如果发现KEY重复时,再UPDATE对应的记录?
D、先EXCEL文件成TXT文件
再使用SQLLOADER
E、将EXCEL文件保存成csv格式 然后用sqlload来导入表中
sqlload是Oracle自带的数据倒入工具,应该是没有可视化工具的(至少我一直用命令行)。
直接在命令行下敲入sqlldr即可得到帮助。
F、如果你的单个文件不大的情况下(少于100000行), 可以全选COPY ,然后用PL/SQL:
select from table for update 然后打开锁, 再按一下加号 鼠标点到第一个空格然后粘贴 COMMIT即可(小窍门, ORACLE不支持的, 但很好用, 不会有问题)
G、Golden的imp/exp工具可以直接导入文本文件,非常简单
下面这个不知道是针对以上哪种方法的:
放心:excel文件最多只有65536条记录
不放心:曾经如此导过,但当有中文字段时可能出现异常(PL/SQL DEV5)
我用的是A,OK,时间仓促,其他的没有试过。
>
Comma-Separated Value ( [卡门 赛婆乱提的] 逗号分隔)(CSV),因分隔符没有严格的要求,可以使用逗号,也可以使用其他字符(如制表符\t,分号等),所以CSV也被称为 逗号分隔或者其他字符分隔值 。csv文件是使用纯文本来存储表格数据(只能存储文本,不能存储二进制)。
构造器涉及到的三个参数:
注:若是设置解析的编码,需要在InputStreamReader对象中设置。
在上面我们可以使用readNext或者readAll进行逐行解读。但是opencsv提供了基于"策略"的映射,将CSV绑定到bean。
注:bean的类型只能为基本数据类型以及String类型,若是BigDecimal类型,那么将会抛出异常。
解析后的bean类:
csv文件:
通俗点就是列位置映射,csv文件中列位置对应到bean中的列。
需要注意的是,该策略会输出所有的行, 故,我们需要跳过某些行。
测试方法:
测试结果:
csv文件:
测试结果:
在csv获取的都是字符串,这种情况下应该使用转换器。将csv中的字段转换为对应的bean中的字段类型。
opencsv为我们提供了上面的两个转换器(我们可以参考,来实现自定义转换器)。使用 AbstractBeanField<T> 类来实现转换器。
csv文件
注:若是列映射策略,则要使用@CsvCustomBindByPosition()注解。
测试结果:
所有的过滤器必须实现CsvToBeanFilter 接口
测试结果
(官网)csv官方文档
(官网)CSVParserBuilder——CSVParser的目的是获取单个字符串并根据分隔符,引号和转义字符将其解析为其元素。
(官网)CSVReaderBuilder类
(理论)原CSV类库:OpenCSV
(API)用opencsv文件读写CSV文件
(API)opencsv40 自定义规则
CSV是文本文件,用记事本就能打开,XLS是二进制的文件只有用EXCEL才能打。同时CSV (csv) 文件格式只能保存活动工作表中的单元格所显示的文本和数值。工作表中所有的数据行和字符都将保存。数据列以逗号分隔,每一行数据都以回车符结束。如果单元格中包含逗号,则该单元格中的内容以双引号引起。
如果单元格显示的是公式而不是数值,该公式将转换为文本方式。所有格式、图形、对象和工作表的其他内容将全部丢失。
若只是保存一点文本信息用 csv文件就可以了 但是若有设定公式,冻结列等其他东西则用xls。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)