将Excel批量转换为csv并合并多个csv
最近在做一些数据分析,想要把多个excel文件合并成一个,写了脚本尝试一下,结果因为数据量太大合并失败了。老师提示我可以转为csv文件,于是自己尝试了一下,真的太方便了...
1、首先把需要导出的Excel文件集中整理到一个文件夹中,并且确定一个用来保存csv文件的路径
2、新建一个Excel文件,点击菜单栏上的“开发工具”,并点击下面的 Basic
如果菜单栏上面没有开发工具,则点击文件>>选项,在自定义功能区中将开发工具勾选上
3、在左侧一栏中双击打开代码窗口,输入以下代码
Sub SaveToCSVs()Dim fDir As StringDim wB As WorkbookDim wS As WorksheetDim fPath As StringDim sPath As StringfPath = "你的excel文件路径"sPath = "你要存放输出的csv文件的路径"fDir = Dir(fPath)Do While (fDir <> "")If Right(fDir, 4) = ".xls" Or Right(fDir, 5) = ".xlsx" ThenOn Error Resume NextSet wB = Workbooks.Open(fPath & fDir)'MsgBox (wB.Name)For Each wS In wB.SheetswS.SaveAs sPath & wB.Name & ".csv", xlCSVNext wSwB.Close FalseSet wB = NothingEnd IffDir = DirOn Error GoTo 0Loop
End Sub
之后点击菜单栏上的“运行”,选择运行子过程/用户窗体。转换过程中会有多个Excel窗口自动显示再关闭。完成后打开设定的文件夹,就能看到转换后的csv文件。
二、将多个csv合并到一个csv中
1、将所有的csv文件放到一个文件夹中
2、打开cmd,切换到存放csv的文件夹
3、输入命令
copy *.csv 你自己起的文件名.csv
之后按回车等待完成,打开文件夹就可以看到合成的csv