批量将csv转换成excel文件xlsx格式
经常要把下载下来的csv格式的文件处理成xlsx格式,才能进行各种函数处理,如果有成千上百个csv文件那就会很费时间,以下几种方法亲测可用,现分享给大家。
使用Excel VBA宏进行csv转xlsx
以下宏代码在office2016测试通过,要注意源文件夹与目标文件夹的绝对路径要正确,并且最后的“\”不要丢。
适用场景:适合少量文件且习惯 Excel 操作的用户,无需安装额外软件。
步骤:
1.在Excel中按Alt+F11
打开 VBA 编辑器,粘贴以下代码:
Sub CSVTOXLSX() Dim fDir As String Dim wB As Workbook Dim wS As Worksheet Dim fPath As String Dim sPath As String fPath = "C:\Users\Micro\Desktop\source\" sPath = "C:\Users\Micro\Desktop\target\" fDir = Dir(fPath) Do While (fDir <> "") If Right(fDir, 4) = ".csv" Or Right(fDir, 5) = ".csv" Then On Error Resume Next Set wB = Workbooks.Open(fPath & fDir) 'MsgBox (wB.Name) For Each wS In wB.Sheets wS.SaveAs sPath & wB.Name & ".xlsx" _ , FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False Next wS wB.Close False Set wB = Nothing End If fDir = Dir On Error GoTo 0 Loop End Sub
2.按F5运行宏,自动转换当前文件夹内所有CSV文件
局限:
- 处理超大规模文件时可能卡顿或崩溃
- 需手动调整编码(如UTF-8文件可能显示乱码)
使用Python脚本将csv转成xlsx
适用场景:适合需要自动化、处理超大量文件(如3万个CSV)且有一定编程基础的用户。
核心工具:通过pandas
库和openpyxl
库实现,支持批量处理、自定义数据清洗和格式调整。
步骤:
1.安装依赖:pip install pandas openpyxl
2.编写脚本(示例):
import pandas as pd import os input_folder = "csv文件路径" output_folder = "xlsx保存路径" os.makedirs(output_folder, exist_ok=True) for filename in os.listdir(input_folder): if filename.endswith(".csv"): df = pd.read_csv(os.path.join(input_folder, filename), encoding='utf-8') df.to_excel(os.path.join(output_folder, filename.replace(".csv", ".xlsx")), index=False) print("转换完成!")
优化建议:
- 添加错误处理(如
try-except
跳过异常文件)和进度条(如tqdm
库) - 若需并行处理,可使用
multiprocessing
模块加速
使用第三方软件一键批量转换csv为xlsx
适用场景:追求操作简便、无编程基础的用户。
推荐工具:
- CSVtoExcel:免费绿色软件,支持自定义输出路径和格式(XLS/XLSX),一键转换
- LibreOffice Calc(Linux/跨平台):命令行调用--convert-to xlsx
实现批量转换
操作流程:
1.下载工具并解压(如CSVtoExcel)
2.设置源文件夹和目标文件夹,点击“转换”即可
优势:无需代码,支持断点续传和错误日志
在线转换工具转换XLSX
适用场景:临时处理少量文件,且设备无安装权限时使用。
推荐平台:
- Zamzar:支持批量转换,免费版限50MB文件
- CloudConvert:可调整输出参数(如分页、编码),免费版每日限25次
步骤:
1.访问工具网站(如 Zamzar)
2.上传CSV文件,选择XLSX格式并下载
注意:
- 需警惕敏感数据泄露风险
- 不适合处理3万个以上的文件的超大规模任务
办公软件手动操作
适用场景:处理极少量文件(如 10 个以内)。
方法:
- Excel/WPS:依次打开CSV文件 → 另存为XLSX
- Google Sheets:在线导入CSV后下载为XLSX
耗时对比:单个文件约需1分钟,3万个文件需500小时(不推荐)
以上几种csv转换方法对比与推荐
方法 | 适用文件量 | 速度 | 安全性 | 学习成本 |
---|---|---|---|---|
Python脚本 | 1万+ | ★★★★★ | 高 | 中 |
第三方软件 | 1000+ | ★★★★☆ | 中 | 低 |
VBA宏 | 100- | ★★☆☆☆ | 中 | 中 |
在线工具 | 10- | ★☆☆☆☆ | 低 | 低 |
推荐策略:
- 超大规模(如3万个以上文件):优先选择Python脚本(优化内存和并行处理)
- 中等规模(如1000个以上文件):使用CSVtoExcel或LibreOffice命令行
- 极少量文件:直接通过Excel或在线工具处理
- Excel批量删除指定字符所在行
- Excel批量删除空行和空列
- wps和excel添加转置快捷键的方法
- 使用宏代码批量将csv文件合并在一个xslx表格文件里
- 网上下载的EXCEL文件打开提示内存或磁盘空间不足的解决方法