CSV转Parquet在线转换
CSV容易生成,查询起来却很慢。上传CSV文件,即可得到Apache Parquet文件:每个字段都有对应的列类型,已压缩,可直接导入你使用的分析工具。
数据转换器
或将CSV, TSV, TXT … 文件拖放到此处 ·
单个文件最大 95 MB· 最多 20 个文件· 30 分钟后删除
文件在我们的服务器上处理,并在 30 分钟后删除。
CSV 和文本文件中分隔列的字符,读取和写入都适用。自动会从输入中检测,并以逗号写出。
UTF-8 适用于所有语言。如果 Windows 上的 Excel 打开 CSV 时重音字符或中日韩文字显示乱码,请选择带 BOM 的 UTF-8。
输入为 Excel、ODS 和 Numbers 时:只转换第一个工作表,或转换所有工作表(ZIP 中每个工作表一个 CSV,或 JSON 中每个工作表一个键)。
新电子表格中工作表标签的名称,最多 31 个字符。
对象数组会为每一行使用列名作为键;数组的数组更紧凑,并把表头作为第一个数组。
包裹所有行的外层元素名称;每一行会成为其中的一个 <row>。
用于 CREATE TABLE 和 INSERT 语句。只能使用字母、数字和下划线。
不同数据库的引号和列类型略有差异;请选择您要导入的数据库。
把日期单元格统一改写为一种格式。ISO (2026-10-18) 对数据库和代码最稳妥;保持原样则保留源文件中的显示方式。
使用方法
- 1
上传CSV文件
添加一个导出文件,或最多 20 个布局相同的文件,每个不超过 95 MB。分隔符保持“自动检测”即可识别逗号、分号、制表符和竖线。
- 2
保留表头和日期设置
首行为表头会把表头行作为列名。日期默认使用 ISO 格式,日期列会以统一的形式写入。
- 3
转换为Parquet
点击转换为 Parquet,然后把 .parquet 文件载入 pandas、DuckDB、Spark 或你的数据仓库。
数据团队为什么要把CSV转成Parquet
Parquet 由 Twitter 和 Cloudera 的工程师于 2013 年创建,借鉴了 Google 在 2010 年 Dremel 论文中描述的列式布局,并于 2015 年成为 Apache 顶级项目。思路很简单:不像 CSV 那样逐行存储表格,而是把同一列的所有值存放在一起。查询四十列中的三列时,只需读取这三列,而且相近的值挨在一起,压缩效果也好得多。
因此分析师会先转换导出文件再加载,数据工程师会向供应方要 Parquet 而不是 CSV,Amazon Athena 和 BigQuery 这类可能按扫描数据量计费的服务,查询成本也会更低。CSV 无法知道 0042 是数字还是编码,而 Parquet 为每一列记录类型,下一个工具就不必猜测。
大型表格:Parquet、CSV与XLSX对比
| Parquet | CSV | XLSX | |
|---|---|---|---|
| 文件中存储列类型 | yes | no | 按单元格 |
| 只读取查询所需的列 | yes | no | no |
| 已压缩 | yes | no | yes |
| 可用文本编辑器阅读 | no | yes | no |
| 双击即可用 Excel 打开 | no | yes | yes |
| 每个文件的行数 | 无固定上限 | 无固定上限 | 每个工作表 1,048,576 行 |
CSV转为Parquet后有哪些变化
你能得到什么
- 只读取所需列,查询更快
- 文件更小,便于存储和传输
- 带有结构定义,下一个工具无需猜测
- 日期统一写成 ISO 格式
需要注意的地方
- 无法在电子表格或文本编辑器中编辑
- 数值列中的一个错别字可能让整列变成文本
- 如果仍有人需要打开,请保留 CSV
CSV与Parquet格式要点
CSV
逗号分隔值
CSV 是一种用于表格的纯文本格式,每一行是一条记录,列之间用逗号分隔。它从计算机早期就开始使用,RFC 4180 对其作了说明,不过许多变体使用分号或制表符,文本编码也各不相同。几乎所有电子表格、数据库和分析工具都能导入和导出 CSV,因此它是在系统之间传输数据的默认格式。CSV 只保存数值,不包含公式、格式、多个工作表或数据类型。
- 压缩方式
- –
- 透明度
- –
- 动画
- –
- 发布年份
- –
PARQUET
Apache Parquet
Parquet 是由 Twitter 和 Cloudera 于 2013 年创建、现由 Apache 软件基金会维护的开源列式存储格式。它按列存储数据,压缩率高并带有类型化的模式,因此分析工具只需读取所需的列。它是数据湖以及 Spark、pandas、DuckDB、BigQuery 和 Snowflake 等工具中的标准格式。Parquet 文件是二进制的,无法用文本编辑器或普通电子表格应用打开。
- 压缩方式
- 无损
- 透明度
- –
- 动画
- –
- 发布年份
- 2013 · Apache Software Foundation (from Twitter and Cloudera)
当文件不再供人打开,而是供查询扫描时,CSV 就该转成 Parquet:比如每天导入数据湖的导出文件、与分析师共享的数据集,或每次只按几列筛选的日志。
CSV转Parquet常见问题
Parquet文件比CSV小多少?
取决于数据本身。重复值多的列(如国家代码、状态或日期)压缩效果很好,而唯一 ID 或自由文本列缩小得较少。Parquet 文件通常只有 CSV 的一小部分大小,但没有可以保证的固定比例。
哪些工具可以读取转换后的.parquet文件?
pandas 的 read_parquet、Polars、DuckDB(直接对文件名执行 SELECT)、Apache Spark,以及 BigQuery、Snowflake、Amazon Athena 和 Redshift Spectrum 等云数据仓库。多数工具还可以把列相同的一个 Parquet 文件夹当作一张表来查询。
列类型是如何确定的?
根据每列的值判断:整数、小数、日期和真/假值会得到对应的类型,内容混杂的列则保持为文本。转换后请检查带前导零的编码,例如 02134 这样的邮政编码;如果必须保留 0,请将其保持为文本。
结构相同的多个CSV文件可以一起转换吗?
可以,一次最多 20 个,每个文件会生成各自的 .parquet 文件。把它们放在同一个文件夹,DuckDB 或 Spark 就能用 sales_*.parquet 这样的通配符一起读取。
不写代码怎么查看Parquet文件的内容?
Excel 和 Google Sheets 无法双击打开 .parquet。可以用 Parquet 转 CSV 把它还原成行,或者如果你习惯写一条 SQL,也可以使用 DuckDB 命令行。