data2026-07-252 分钟阅读
什么是 CSV 和 JSON
CSV(Comma-Separated Values,逗号分隔值)是一种简单的表格数据格式,每行是一条记录,字段用逗号分隔。
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,使用键值对表示数据,支持嵌套结构。
对比示例
CSV 格式:
name,email,age
张三,zhang@example.com,28
李四,li@example.com,32
JSON 格式:
[
{ "name": "张三", "email": "zhang@example.com", "age": 28 },
{ "name": "李四", "email": "li@example.com", "age": 32 }
]
CSV vs JSON 的特点
| 特性 | CSV | JSON | |------|-----|------| | 可读性 | 表格直观 | 结构清晰 | | 嵌套支持 | ❌ 不支持 | ✅ 支持 | | 类型信息 | 无(全为字符串) | 有(字符串、数字、布尔等) | | 文件大小 | 较小 | 较大 | | 适用场景 | 表格数据导入导出 | API 数据交换 | | Excel 兼容 | ✅ 原生支持 | ❌ 需要转换 |
为什么需要 CSV/JSON 转换
- 数据导入导出:Excel 导出 CSV,后端需要 JSON 处理
- API 开发:数据库导出 CSV,转换为 JSON 提供给前端
- 数据分析:Python/R 处理 CSV,Web 可视化需要 JSON
- 数据迁移:不同系统之间的数据格式转换
- 配置管理:简单配置用 CSV,复杂配置用 JSON
- 日志分析:CSV 日志转为 JSON 结构化处理
如何使用在线转换器
使用 DevToolkit Pro 的 CSV/JSON 转换器:
- 粘贴 CSV 或 JSON 数据
- 工具自动检测格式并转换
- 支持自定义分隔符、引号处理
- 实时预览转换结果
代码中的转换
JavaScript:CSV 转 JSON
function csvToJson(csv, delimiter = ',') {
const lines = csv.trim().split('\n');
const headers = lines[0].split(delimiter).map(h => h.trim());
return lines.slice(1).map(line => {
const values = line.split(delimiter);
return headers.reduce((obj, header, i) => {
obj[header] = values[i]?.trim() ?? '';
return obj;
}, {});
});
}
Python:JSON 转 CSV
import csv
import json
def json_to_csv(json_data, filename):
if not json_data:
return
keys = json_data[0].keys()
with open(filename, 'w', newline='', encoding='utf-8') as f:
writer = csv.DictWriter(f, fieldnames=keys)
writer.writeheader()
writer.writerows(json_data)
FAQ
CSV 中的逗号怎么办?
如果字段本身包含逗号,需要用引号包裹该字段:"上海, 浦东"。或者使用制表符(TSV)作为分隔符。
为什么 CSV 转 JSON 后数字变成了字符串?
CSV 没有类型信息,所有值都是文本。转换时需要额外逻辑来识别数字和布尔值。
本文由 DevToolkit Pro 提供。更多开发者工具请访问 首页。
相关文章
YAML JSON 转换完全指南:原理、工具与最佳实践
深入理解 YAML 和 JSON 的区别与联系,掌握 YAML JSON 双向转换的各种方法——在线工具、命令行、代码实现,以及常见陷阱和最佳实践。
在线 XML/JSON 转换器:数据格式互转工具
学习如何在 XML 和 JSON 格式之间转换数据。了解 XML 和 JSON 的特点差异,以及在 API 集成、配置管理和数据交换中的应用场景。
在线 Markdown 预览器:实时渲染和编辑 Markdown 文档
学习如何使用在线 Markdown 预览器实时渲染 Markdown 文档。了解 Markdown 语法、GFM 扩展、表格和代码高亮,以及在技术文档中的最佳实践。