第十七篇: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 来连接 ...
随机推荐
- css reset初始化样式
原文:https://www.cnblogs.com/caojiayan/p/6343917.html /* CSS Document */ html, body, div, span, object ...
- Python with语句的概率,不多说了直接上代码!
python中的with语句用于访问资源.它确保执行指定的__exit__(“清理”)操作,而不管释放被访问资源的处理过程中的错误或异常,例如读取和写入文件后自动关闭.线程中锁的自动获取和释放等. p ...
- Java——Eclipse使用
从这开始使用IDE啦~ ①File → New → Java Project →填写工程名字,选择jdk版本,其他默认,单击finish. ②在Src(源文件)上鼠标右键 → new → packag ...
- 主席树/线段树模拟归并排序+二分答案(好题)——hdu多校第4场08
用主席树写起来跑的快一点,而且也很傻比,二分答案,即二分那个半径就行 主席树求的是区间<=k的个数 #include<bits/stdc++.h> using namespace s ...
- docker快速安装elasticsearch
一.选择版本,拉取镜像 docker pull elasticsearch:5.6.9 #不选择版本就是最新的 二.运行设置容器 # -d 表示在后台运行 docker run -d -p 9200: ...
- iOS ARC使用总结
在iOS ARC模式下,编译器会自动插入release 有些时候程序出现 message sent to deallocated object的时候,你不知道什么原因. 一种原因是因为你在ARC下使用 ...
- MySQL数据库迁移详细步骤
转载自:http://sofar.blog.51cto.com/353572/1598364 ===================================================== ...
- jsp-application应用
application有两种应用,1是当作map,代码如下 <body> <%! int i=1; %> <% application.setAttribute(&quo ...
- CodeForces-1234C-Pipes-dfs
You are given a system of pipes. It consists of two rows, each row consists of nn pipes. The top lef ...
- OSI七层网络模型分别是哪七层?各运行那些协议?
本文摘自:https://blog.csdn.net/JeremyZJM/article/details/78184775 应用层 DHCP · DNS · FTP · Gopher · HTTP · ...