第十七篇:csv拆分、csv转excel方法
首先对微软的office功能表示敬佩!可能是这些办公软件太过平常化,所以体会不到他有多牛!
csv格式数据以前没接触过,百度百科定义,Comma-Separated Values,CSV,逗号分隔值,或者符号分隔值
分隔符号一般是逗号,文件以纯文本形式存储表格数据,因此能存储非常大数据量的数据。Excel03以前的只能存储65536行,256列
07能存储1048576行 ,16384列,csv能存储得更多。如果直接用Excel打开csv,显示的是一行行的逗号连起来的文本值
首先记录下csv拆分,这里Excel功能如此强大,就不要用java的死方法来想做了
有一个100万行的csv文件,把他转成5万行一个的小csv文件
步骤如下:
首先用Excel2010(或以上版本)打开这个csv文件,Alt+F11 打开VBA窗口,贴上如下代码:
Sub cfb()Dim r, c, i, LineCount, FileCount , bt As Longr = Range("A" & Rows.Count).End(xlUp).Rowc = Cells(1, Columns.Count).End(xlToLeft).Columnbt = 1 '标题行数LineCount= 50000 '每个文件的行数FileCount = IIf(r - bt Mod 50000, Int((r - bt) / LineCount), Int((r - bt) / LineCount) + 1)For i = 1 To FileCount Workbooks.Add Application.DisplayAlerts = False ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\" & Format(i, String(Len(FileCount), 0)) & ".csv" Application.DisplayAlerts = True ThisWorkbook.ActiveSheet.Range("A1").Resize(bt, c).Copy ActiveSheet.Range("A1") ThisWorkbook.ActiveSheet.Range("A" & bt + i * LineCount+ 1).Resize(LineCount, c).Copy _ ActiveSheet.Range("A" & bt + 1) ActiveWorkbook.Close TrueNextEnd Sub
这个东西似乎叫做“宏”,大家肯定都听过,执行下,在同级目录下开始生成以1.csv,2.csv……20.csv的Excel表格,每个5万行
将csv批量转为Excel的方法跟这个大体相同,也要用到VBA和宏
首先将所有的csv文件放在同一文件夹里,在这个文件夹里新建一个Excel,比如test.xls,打开test.xls,Alt+F11打开VBA窗口
贴上如下代码:
Sub CSV2XLS()Dim FilePath, MyFile, iPath As StringiPath = ThisWorkbook.PathMyFile = Dir(iPath & "\*.CSV")If MyFile <> "" ThenDo On Error Resume Next If MyFile = ThisWorkbook.Name Then MyFile = Dir Workbooks.Open (iPath & "\" & MyFile) MyFile = Replace(MyFile, ".csv", ".xls") Name = "\" & MyFile FilePath = iPath & Name Application.ScreenUpdating = False ActiveWorkbook.SaveAs Filename:=FilePath, FileFormat:= _ xlNormal, CreateBackup:=False Workbooks(MyFile).Close True Application.ScreenUpdating = True MyFile = DirLoop While MyFile <> ""End IfEnd Sub
执行一下 同级目录下就会生成对应名相同的.xls文件第十七篇:csv拆分、csv转excel方法的更多相关文章
- Python之路(第二十七篇) 面向对象进阶:内置方法、描述符
一.__call__ 对象后面加括号,触发执行类下面的__call__方法. 创建对象时,对象 = 类名() :而对于 __call__ 方法的执行是由对象后加括号触发的,即:对象() 或者 类()( ...
- 使用宏批量将多个csv文件转成excel文件
在一个压缩文件中有100多个csv文件,要求要将此100多个csv文件转成excel文件,名字命名不变,有三种方式: 1. 傻不拉几的复制粘贴法 2. 一个一个打开csv文件,另存为xls文件,工作量 ...
- PL/SQL Developer 导出csv文件,用excel打开中文显示乱码
用PL/SQL Developer的导出csv功能把sql语句的查询结果导出到一个csv文件.这个sql查询的结果里面有中文,最后用execel打开的时候发现中文全部是乱码. 方法 1 导出csv ...
- Python3使用csv模块csv.writer().writerow()保存csv文件,产生空行的问题
问题:csv.writer().writerow()保存的csv文件,打开时每行后都多一行空行 解决方法:在open()内增加一个参数newline='' 即可 问题现象: 1.代码 with ...
- C#使用Linq to csv读取.csv文件数据
前言:今日遇到了一个需要读取CSV文件类型的EXCEL文档数据的问题,原本使用NPOI的解决方案直接读取文档数据,最后失败了,主要是文件的类型版本等信息不兼容导致.其他同事有使用linq to csv ...
- spark.read.csv读取CSV文件 ArrayIndexOutOfBoundsException报错
通过 spark.read.csv读取CSV文件时,遇到 到 ArrayIndexOutOfBoundsException报错,初步判断是缺少参数导致,放百度看看,没找引起问题相关的参数. 第一个看到 ...
- csv 转换为DBF文件的方法
转至:https://www.cnblogs.com/hssbsw/archive/2012/12/01/2797140.html csv 转换为DBF文件的方法 最近从SQL导出了许多CSV文件发到 ...
- 解剖SQLSERVER 第十七篇 使用 OrcaMDF Corruptor 故意损坏数据库(译)
解剖SQLSERVER 第十七篇 使用 OrcaMDF Corruptor 故意损坏数据库(译) http://improve.dk/corrupting-databases-purpose-usin ...
- Python之路【第十七篇】:Django【进阶篇 】
Python之路[第十七篇]:Django[进阶篇 ] Model 到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这么搞: 创建数据库,设计表结构和字段 使用 MySQLdb 来连接 ...
随机推荐
- 32. Random类
1.Random class Random implements java.io.Serializable 下面是一个简单验证码的代码: public static void main(String[ ...
- JavaScript中的节流和防抖
节流: 在规定时间内,多次触发事件,但是只执行一次 场景:输入框搜索,地图渲染 优化用户体验 /** * 节流 规定时间内不管触发多少次只执行一次 * @param {Function} fn 实际要 ...
- java之短路与&&和短路或||
短路的意思就是惰性计算,符号右边的就不进行计算了. ||和&&就是这样,
- kafka和flume进行整合的日志采集的confi文件编写
配置flume.conf 为我们的source channel sink起名 a1.sources = r1 a1.channels = c1 a1.sinks = k1 指定我们的source收集到 ...
- Python的变长参数
Python的变长参数 def foo1(*args): for arg in args: print arg def foo2(**kargs): for key in kargs: print k ...
- Excel的数据分析—排位与百分比
Excel的数据分析-排位与百分比 某班级期中考试进行后,按照要求仅公布成绩,但学生及家长要求知道排名.故欲公布成绩排名,学生可以通过成绩查询到自己的排名,并同时得到该成绩位于班级百分比排名(即该同学 ...
- git相关操作。
之前只会用图形端的GIT中,命令行的比较陌生,整理下,供自己以后参考 关键的名词: 工作区:工作区 Index / Stage:暂存区 仓库:仓库区(或本地仓库) 远程控制:远程仓库 到项目目录下gi ...
- 去掉Word 标题编号变成黑框
问题: 在使用Word编写文档时,提前拟好的标题编号会突然变成黑框(黑色的方框,黑色的矩形),如下图 解决方案: 1.将光标定位到标题中,紧邻黑框的右侧 2.按键盘左方向键使方框变成黑色 3.按键盘的 ...
- Solrj API读取core 索引库数据
private static String zkHost = "ip:2181,ip:2181,ip:2181"; private static CloudSolrServer s ...
- Java父类强制转换子类原则
最近,微信群友在讨论子类父类的转换问题,其实不难,给大家用实例来说明一下就很明了了. 我们知道Java中子类转换成父类是没有任何问题的,那父类可以转换成子类吗? 来看下面这段程序: public cl ...