UltKit

数据格式转换

在电子表格、数据库、API和通讯录所需的格式之间转换数据。上传CSV、Excel工作簿、JSON或XML文件、联系人列表或PDF中的表格,即可得到相同的记录,并以下一个程序能读取的结构输出。

数据转换器

或将CSV, TSV, TXT … 文件拖放到此处 ·

单个文件最大 95 MB· 最多 20 个文件· 30 分钟后删除

输出

文件在我们的服务器上处理,并在 30 分钟后删除。

使用方法

  1. 1

    上传数据文件

    添加 CSV、TSV、XLSX、XLS、ODS、Numbers、JSON、XML、YAML、VCF、SQL、Parquet、HTML 或 PDF 文件,每次最多 20 个,每个不超过 95 MB。

  2. 2

    选择目标格式

    在转换为中搜索 XLSX、CSV、JSON、XML、SQL 或其他格式。分隔符、编码、表头行和日期设置位于高级设置中。

  3. 3

    转换并导入

    点击转换为 XLSX(按钮文字会随你的选择变化)并下载文件;如果多个工作表生成了多个文件,则会下载 ZIP。

表格、文本和代码格式:各自的用途

数据格式之所以有很多种,是因为不同程序读取数据的方式不同。XLSX 等电子表格保留单元格、工作表和数字格式。2005 年成文的 RFC 4180 规定的 CSV 是最通用的格式:用逗号分隔值的纯文本行,所有数据库和财务系统都能导入。JSON 由 RFC 8259 和 ECMA-404 标准化,是网页 API 传输、JavaScript 读取的数据格式。XML 出现得更早,至今仍用于发票、订阅源和办公文件格式,而 YAML 是基于缩进的配置文件格式。

大多数转换都是在这些格式之间来回:分析人员拿到 API 导出的 JSON,需要转成表格(JSON转Excel);开发人员拿到客户的电子表格,需要生成初始化数据文件(CSV转SQL);办公室把列表导出后交给另一个系统(Excel转CSV)。每种情况都有带合适默认设置的专用页面,列在本文下方。

转换前最好了解各格式的限制。XLSX 工作表最多 1,048,576 行 × 16,384 列,旧的 XLS 格式只有 65,536 行 × 256 列,所以非常大的导出数据应选择 XLSX、CSV 或 Parquet。Excel 的工作表名称最长 31 个字符,因此工作表名称也不接受更长的输入。

支持哪些数据格式转换

from ↓ · to →XLSXCSVJSONXMLYAMLSQLVCFParquetMD
CSV/TSVCSV/TSV to XLSX: yesCSV/TSV to CSV: yesCSV/TSV to JSON: yesCSV/TSV to XML: yesCSV/TSV to YAML: yesCSV/TSV to SQL: yesCSV/TSV to VCF: yesCSV/TSV to Parquet: yesCSV/TSV to MD: yes
XLSX/XLSXLSX/XLS to XLSX: yesXLSX/XLS to CSV: yesXLSX/XLS to JSON: yesXLSX/XLS to XML: yesXLSX/XLS to YAML: yesXLSX/XLS to SQL: yesXLSX/XLS to VCF: yesXLSX/XLS to Parquet: yesXLSX/XLS to MD: yes
ODS/NumbersODS/Numbers to XLSX: yesODS/Numbers to CSV: yesODS/Numbers to JSON: yesODS/Numbers to XML: yesODS/Numbers to YAML: yesODS/Numbers to SQL: yesODS/Numbers to VCF: yesODS/Numbers to Parquet: yesODS/Numbers to MD: yes
JSONJSON to XLSX: yesJSON to CSV: yesJSON to JSON: yesJSON to XML: yesJSON to YAML: yesJSON to SQL: yes– JSON to VCF: noJSON to Parquet: yesJSON to MD: yes
XMLXML to XLSX: yesXML to CSV: yesXML to JSON: yesXML to XML: yesXML to YAML: yesXML to SQL: yes– XML to VCF: noXML to Parquet: yesXML to MD: yes
YAMLYAML to XLSX: yesYAML to CSV: yesYAML to JSON: yesYAML to XML: yesYAML to YAML: yesYAML to SQL: yes– YAML to VCF: noYAML to Parquet: yesYAML to MD: yes
VCFVCF to XLSX: yesVCF to CSV: yesVCF to JSON: yesVCF to XML: yes– VCF to YAML: noVCF to SQL: yesVCF to VCF: yes– VCF to Parquet: noVCF to MD: yes
SQLSQL to XLSX: yesSQL to CSV: yesSQL to JSON: yesSQL to XML: yes– SQL to YAML: noSQL to SQL: yes– SQL to VCF: noSQL to Parquet: yesSQL to MD: yes
ParquetParquet to XLSX: yesParquet to CSV: yesParquet to JSON: yesParquet to XML: yes– Parquet to YAML: noParquet to SQL: yes– Parquet to VCF: noParquet to Parquet: yesParquet to MD: yes
HTML/PDF 表格HTML/PDF 表格 to XLSX: yesHTML/PDF 表格 to CSV: yesHTML/PDF 表格 to JSON: yesHTML/PDF 表格 to XML: yes– HTML/PDF 表格 to YAML: noHTML/PDF 表格 to SQL: yes– HTML/PDF 表格 to VCF: noHTML/PDF 表格 to Parquet: yesHTML/PDF 表格 to MD: yes
supported not offered另外还支持:XLS、ODS、TSV、TXT、HTML 表格、DOCX(作为 Word 表格)和 Base64。任何文件(包括图片)都可以编码为 Base64。短横线表示源文件中没有适合目标格式的行,例如从嵌套的 JSON 文档生成通讯录。

按输出类型划分的数据转换设置

这些设置在读取和写入分隔文本时生效。

  • 分隔符:自动检测、逗号、分号、制表符、竖线或空格。自动模式会识别输入使用的分隔符,并以逗号输出。
  • 文本编码:默认 UTF-8;Windows 上的 Excel 请用带 BOM 的 UTF-8;旧系统可选 UTF-16 和旧版代码页。
  • 首行为表头:列名会成为 JSON 键、XML 标签、SQL 列和 vCard 字段。
  • 所有值加引号:为每个字段加上双引号,适用于要求严格的导入工具。

CSV行转换为JSON后的样子

表头为 id,name,city、只有一行 1,Ana,Lisbon 的 CSV,使用对象数组和格式化输出转换
[
  {
    "id": 1,
    "name": "Ana",
    "city": "Lisbon"
  }
]

解决常见的数据导入问题

  • 重音字符和非拉丁字母在 Excel 中显示为乱码

    Windows 上的 Excel 误判为旧版编码。请将文本编码设为带 BOM 的 UTF-8 后重新转换。

  • 导入后日期的日和月颠倒了

    目标程序把 03/04 按相反顺序读取。请将日期设为 ISO,所有数据库和语言对它的解读都一致。

  • 数值看起来完全一样,查找却失败

    单元格末尾有看不见的空格。请保持开启去除首尾空格。

  • 第一行数据变成了列名

    文件没有表头行。请关闭首行为表头,让第 1 行作为数据保留。

  • SQL 文件导入失败

    方言与数据库不匹配。请选择正确的 SQL 方言,并让 SQL 表名只包含字母、数字和下划线。

数据格式转换常见问题

如何用Excel打开JSON文件?

上传 .json 文件并转换为 XLSX。对象数组会变成每个对象一行,键作为列标题;嵌套对象会展开为多列。嵌套数组的处理方式请参阅 JSON转Excel。

为什么CSV在Excel中打开后全挤在一列?

Excel 使用系统所在地区的列表分隔符。在用逗号表示小数的国家,如德国、法国或巴西,它需要分号。请将分隔符设为分号后重新转换,或通过 Excel 的“数据”选项卡导入并自行选择分隔符。

Parquet选项有什么用?

Parquet 是 Apache 的列式存储格式,数据仓库以及 Spark、pandas、DuckDB 等工具都在使用。它按列存放数据且压缩率高,大型 CSV 转换后体积通常会明显变小。做分析流水线可转换为 Parquet,要在电子表格中查看则用 Parquet转CSV。

能把电子表格里的联系人导入手机吗?

可以。把姓名、电话和邮箱放在带表头行的列中,将表格转换为 VCF,再把 .vcf 文件导入 Google 通讯录、iCloud 或 Outlook。表头名称会映射到 RFC 6350 定义的 vCard 字段。反向操作 VCF转CSV 可把手机通讯录导出为表格。

SQL应该选择哪种方言?

选择你要导入的那一种:MySQL、PostgreSQL、SQLite 或 SQL Server。它们在名称引用方式(MySQL 用反引号,PostgreSQL 和 SQLite 用双引号,SQL Server 用方括号)和列类型上各不相同,选对应的方言可避免导入时出现语法错误。

为什么Base64文本比原文件还大?

RFC 4648 定义的 Base64 把每 3 个字节写成 4 个文本字符,所以输出比输入大约大三分之一。这是能把文件粘贴进 HTML、CSS、JSON 或邮件正文所付出的代价。开启 Data URI 前缀 可得到可直接用于 img src 的字符串。

能把PDF里的表格转换为CSV吗?

可以,前提是 PDF 含有真实文本。上传 PDF 并选择 CSV 或 XLSX,系统会逐页检测表格。扫描版 PDF 或表格照片请使用图片转Excel,它会先用 OCR 识别表格。

其他文档与数据工具
图片转 Excel文档格式转换转换为 PDF
PDF 转换器图片转文字(OCR)电子书格式转换

全部数据格式转换工具

选择对方要求的具体目标即可。下面每个页面都是同一个工具,只是默认设置不同。