[C语言]Excel转换CSV的正确方式

Excel 的 “智能填充”(Flash Fill)是一项强大的自动化数据处理功能,能够根据用户输入的示例,自动识别数据规律并批量填充符合规律的结果,尤其适合处理格式转换、提取特定信息、拆分 / 合并文本等场景。

核心功能

智能填充能自动学习用户输入的 “模式”,无需公式即可完成以下操作:

  • 拆分数据(如将 “姓名 + 电话” 拆分为两列);
  • 合并数据(如将 “姓” 和 “名” 合并为 “全名”);
  • 格式转换(如将 “YYYYMMDD” 转为 “YYYY/MM/DD”);
  • 提取特定内容(如从邮箱中提取用户名、从地址中提取城市);
  • 生成序列(如根据 “订单 001” 生成 “订单 002”“订单 003” 等)。

使用方法

  1. 准备数据:在目标列旁输入 1-2 个符合预期格式的示例(作为 “模式模板”)。
  2. 触发智能填充
    • 快捷键:选中示例单元格后,按Ctrl+E(Windows)或Command+E(Mac);
    • 菜单操作:选中示例单元格 → 点击「数据」选项卡 → 「智能填充」按钮。

示例场景

1. 拆分 “姓名 + 电话” 为两列

  • 原始数据(A 列):张三13800138000李四13900139000
  • 在 B 列输入示例张三,C 列输入示例13800138000
  • 选中 B2 和 C2,按Ctrl+E,自动拆分所有行:B 列得到姓名,C 列得到电话。

2. 合并 “姓” 和 “名” 为全名

  • 原始数据:A 列(姓);B 列(名)
  • 在 C 列输入示例张三
  • 选中 C2,按Ctrl+E,自动合并为张三李四

3. 格式转换(日期标准化)

  • 原始数据:2023100120231225
  • 在目标列输入示例2023/10/01
  • Ctrl+E,自动转换为2023/10/012023/12/25

4. 提取邮箱中的用户名

  • 原始数据:zhangsan@example.comlisi@test.com
  • 在目标列输入示例zhangsan
  • Ctrl+E,自动提取所有邮箱的前缀(zhangsanlisi)。

注意事项

  1. 示例质量:至少输入 1 个清晰的示例(复杂场景建议输入 2 个),示例越规范,填充效果越准确。
  2. 适用范围:智能填充依赖 “文本模式识别”,对纯数值计算(如求和、乘除)无效,此类场景需用公式。
  3. 版本支持:Excel 2013 及以上版本支持,WPS 表格也有类似功能(「数据」→「快速填充」)。
  4. 错误修正:若填充结果不符合预期,可修改示例后重新执行Ctrl+E,或手动调整错误项后再次触发。

智能填充极大简化了重复性数据处理工作,尤其适合非专业用户快速完成格式转换类任务,是 Excel 中提高效率的 “神器” 之一。

将 xlsx 文件改为 csv 文件可以使用办公软件手动转换、通过编程实现或利用在线工具,以下是具体方法:

  • 使用 Excel 软件转换:打开目标 xlsx 文件,点击 “文件”→“另存为”,在 “保存类型” 下拉菜单中选择 “CSV (逗号分隔)(*.csv)”,指定保存路径后点击 “保存”。需注意,此操作仅会保存当前活动工作表,且会丢失公式、格式化信息等。
  • 使用 WPS Office 转换:打开 xlsx 文件,选择 “文件”→“另存为”,可选择 “CSV UTF-8 (逗号分隔)” 或 “CSV (逗号分隔)”,建议选择前者以避免中文乱码问题,然后点击 “保存”。
  • 使用 Python 的 Pandas 库转换:适用于需要批量处理或编程集成的场景。先安装依赖库,执行 “pip install pandas openpyxl”,然后运行以下代码:

python

import pandas as pd df = pd.read_excel("input.xlsx", engine="openpyxl") df.to_csv("output.csv", index=False, encoding="utf-8-sig", sep=",")

若 Excel 文件有多个工作表,可通过指定sheet_name参数来读取特定工作表,如df = pd.read_excel("input.xlsx", sheet_name="Sheet2")

  • 使用命令行工具转换:适合服务器环境或无 GUI 操作的场景。可使用csvkit工具,先执行 “pip install csvkit” 进行安装,然后使用命令 “in2csv input.xlsx > output.csv” 完成转换。
  • 使用在线转换工具转换:如 CloudConvert、Zamzar 等,适用于临时快速转换且无安装软件权限的情况。但需注意,不要上传敏感数据,且大文件可能会受限于工具的使用规则。