xls与csv转换:多工作表合并与拆分

本文记录了在工作中遇到的Excel与CSV转换问题,包括如何使用VBA宏将Excel的多工作表批量转换为CSV文件,以及如何通过命令行将多个CSV文件纵向合并成一个Excel文件。

今天工作上遇到了xls与csv互转的场景,分别是xls的多工作表批量转csv,和多个csv纵向合并成一个xls,简单记录一下。

多工作表批量转csv

先用ALT+F11打开VBA编辑窗口,在左边列表框点鼠标右键选插入模块粘贴一个宏:

Sub 转换CSV()
iPath = ThisWorkbook.Path
For n = 1 To Worksheets.Count
    Name = "\" & Sheets(n).Name & ".csv"
    filepath = iPath & Name
    Sheets(n).SaveAs Filename:=filepath, FileFormat:= _
        xlCSV, CreateBackup:=False
Next
End Sub 

在工作表页面按ALT+F8 点选转换csv并回车执行,所有工作表就会导出成独立csv存放在原xls

### 使用 Python Pandas 读取 CSV 文件中的个工作表 对于CSV文件而言,其本质上是一个纯文本文件,并不支持像Excel那样的Sheet结构。因此,在标准情况下,CSV文件并不包含个工作表的概念[^3]。 然而,如果存在一种特殊场景——即CSV文件被设计成模拟了Sheet的效果(比如通过特定标记分割不同的数据区域),那么可以先将整个CSV作为一个整体读入再按需拆分处理;又或者是实际上要处理的是一个Excel文件(.xlsx),而误认为是CSV文件的情况,则应采用`read_excel()`方法来访问各个Sheet。 针对实际的Excel文件操作如下: ```python import pandas as pd # 假设有一个名为 'example.xlsx' 的 Excel 文件含有Sheet excel_file_path = "example.xlsx" # 创建 ExcelFile 对象用于高效加载同一文件内的sheet xls = pd.ExcelFile(excel_file_path) # 获取所有可用的工作表名称列表 sheet_names = xls.sheet_names for name in sheet_names: # 针对每一个 sheet 进行读取 df = pd.read_excel(xls, sheet_name=name) # 打印当前 sheet 名称及其前五行内容以便查看 print(f"\nData from '{name}' sheet:") print(df.head()) ``` 当确实面对真正的CSV文件时,由于它们不具备内部分区特性,所以无法直接按照“工作表”的概念去读取。如果有需求基于某些字段或其他逻辑条件划分数据集,可以在导入后利用Pandas的数据筛选功能实现类似效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值