🛠️ToolsShed

CSV ↔ JSON 转换器

将 CSV 数据转换为 JSON,将 JSON 数组转换回 CSV 格式。

CSV 转 JSON 转换器将电子表格样式的逗号分隔值转换为结构化 JSON 对象,反之亦然。当在返回 JSON 的 API 和使用 CSV 格式的数据库导出或电子表格之间移动数据时,这种转换是一个常见步骤。

将带有标题行的 CSV 数据粘贴到输入框中,工具会自动将每个列名映射到 JSON 键,生成对象数组——每行一个对象。对于反向操作,粘贴 JSON 数组即可获得带有从对象键派生的标题的干净 CSV 输出。

选项通常包括选择分隔符(逗号、分号或制表符)、切换是否引用字符串以及处理空值。所有转换均在浏览器中完成,对敏感业务数据是安全的。

常见问题

代码实现

import csv
import json

# CSV string to JSON
csv_data = """name,age,city
Alice,30,London
Bob,25,Paris
Carol,35,Tokyo"""

reader = csv.DictReader(csv_data.splitlines())
result = list(reader)
print(json.dumps(result, indent=2))
# [{"name": "Alice", "age": "30", "city": "London"}, ...]

# CSV file to JSON
with open("data.csv", newline="", encoding="utf-8") as f:
    reader = csv.DictReader(f)
    rows = list(reader)

with open("data.json", "w", encoding="utf-8") as f:
    json.dump(rows, f, indent=2, ensure_ascii=False)

# JSON to CSV
data = [{"name": "Alice", "age": 30}, {"name": "Bob", "age": 25}]
with open("output.csv", "w", newline="", encoding="utf-8") as f:
    writer = csv.DictWriter(f, fieldnames=data[0].keys())
    writer.writeheader()
    writer.writerows(data)

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.