跳到工具
ViewCSV
无需上传文件

CSV 行列转置

sales.csv· 示例数据18 行 · 4 列
列名变成第一列,原来的第一列变成新的表头。
值只移动位置,不会被修改。第一列中的空值或重复值会获得唯一的表头名称,并列在结果上方。
为保证表头唯一,已重命名:2026-01 → 2026-01 (2), 2026-01 → 2026-01 (3), 2026-02 → 2026-02 (2), 2026-02 → 2026-02 (3), 2026-03 → 2026-03 (2), 2026-03 → 2026-03 (3), 2026-04 → 2026-04 (2), 2026-04 → 2026-04 (3)
结果
#month2026-012026-01 (2)2026-01 (3)2026-022026-02 (2)2026-02 (3)2026-032026-03 (2)2026-03 (3)2026-042026-04 (2)2026-04 (3)2026-052026-05 (2)2026-05 (3)2026-062026-06 (2)2026-06 (3)
1region北京上海广州北京上海广州北京上海广州北京上海广州北京上海广州北京上海广州
2revenue26658921049180531701259275515473046277122111867106127422808268630742643
3units411425551161353213635634234030584034

输入:18 行。结果:3 行 · 19 列。

打开或粘贴 CSV,转置后的表格会显示在结果中:原来的每一列变成一行,每一行变成一列。开启 包含表头行(默认开启)时,列名会变成第一列,原来的第一列会变成新的表头。值只移动位置、不会被改动,文件在你的浏览器中处理,不会上传。由于行会变成列,输入文件最多只能有 249 行数据。

如何转置 CSV

  1. 打开 .csv、.tsv 或 .txt 文件,拖到工具上,或粘贴数据。分隔符会自动识别;如有需要,可在 导入设置 中设置分隔符、编码或 第一行是列名(表头)。
  2. 对于带列名的普通文件,保持 包含表头行 开启即可。结果会立即更新。
  3. 对照 输入 标签页检查 结果 标签页,然后点击 下载 CSV、复制 或 在编辑器中打开。

表头会怎样变化

开启“包含表头行”表头行会和数据一起转置:month,Madrid,Osaka 变成第一列,第一列中的值(month、2026-01、2026-02)变成新的表头。不会丢失任何内容。
关闭“包含表头行”只转置数据行,数据的第一列变成表头,原来的列名不会写出。如果导入时关闭了 第一行是列名(表头),请使用这个设置,这样自动生成的 Column 1、Column 2… 名称就不会出现在输出中。

新的表头必须能用作列名,所以第一列中的空值会按位置变成 Column 3,重复的值会加上后缀,例如 a (2)。所有重命名都会列在结果上方。包含空格或特殊字符的值保持原样。

特殊数据如何处理

  • 值会原样复制:前导零、日期和逗号小数都按原来的写法保留,多行单元格仍是一个值。
  • 列数不齐的行在导入时已经补齐,所以每个输出行的宽度都相同;缺失的值为空。
  • 下载的文件保留源文件的分隔符、换行符、字节顺序标记(BOM),编码在浏览器能写出时也保持不变,并且只在需要时加引号;其他旧编码(如 GB18030)会保存为 UTF-8。复制 得到的始终是逗号分隔的文本。
  • 转置两次会得到原来的表格,除非第一列中有空值或重复值被重命名了。

常见问题排查

  • 文件不大,工具却提示文件太大。 转置后会产生超过 250 列。包含表头行时,输入最多只能有 249 行数据(关闭时为 250 行)。请先用 筛选 CSV 行 减少行数,或用 拆分 CSV 拆分文件。
  • 新表头里出现了 Column 3 或 name (2)。 第一列中有空值或重复值。可以在之后用 CSV 编辑器 重命名表头,或先在 CSV 列映射 中调整顺序,把值唯一的列放到第一列。
  • 表头行不见了。 包含表头行 被关闭了,所以列名被丢掉了。请重新开启。
  • 所有内容都挤在一列里。 分隔符识别错了;请在 导入设置 中设置正确的分隔符,然后重新打开文件。

限制与隐私

输入文件最大可达 25 MB、10 万行、250 列和 200 万个单元格,但结果同样限制在 250 列以内,所以实际上转置适合最多 249 行数据的表格,例如汇总表、配置表和问卷结果。输入的列会变成行,所以最多 250 列的输入会得到最多 250 行的输出。

表格留在当前标签页中,不会发送到任何服务器。如果想在转置之前先汇总一张很长的表,请使用 CSV 数据分析。

示例

每个城市一列的月度收入表,在开启 包含表头行 的情况下转置:每个城市变成一行,每个月份变成一列。

CSV
month,Madrid,Osaka,Lyon
2026-01,1840,2210,960
2026-02,1925,2050,1130
CSV
month,2026-01,2026-02
Madrid,1840,1925
Osaka,2210,2050
Lyon,960,1130

常见问题

为什么最多只能有 249 行?

每个输入行都会变成一个输出列,而工具最多支持 250 列。包含表头行时,表头要占用其中一列,剩下 249 列留给数据行。

转置会改动我的数字或日期吗?

不会。值会按原来的写法移动到新位置。只有变成表头名称的空值或重复值会被重命名,而这些重命名都会列出来。

能用它把宽表变成长表吗?

转置是把整张表的行列互换,并不能把选中的几列逆透视成“名称—值”对。如果需要保留关键列、把宽表变成长表,这个工具并不合适。

标准与参考资料