跳到正文

打开CSV文件

看清文件里真正的内容。开头的0不会丢,不会凭空生成日期,分隔符和编码自动识别。不存储任何文件。

  • 绝不存储
  • 无需排队,无需等待
  • 无需注册,无水印

使用方法

1

拖入文件

CSV、TSV,或任何以分号、竖线分隔的文件——分隔符自动检测。

2

以表格形式查看

可排序、可搜索,带行号和列号。每个值都与存储时完全一致。

3

找到您要的内容

筛选行、跳转到某一列,并查看哪些单元格为空或字段数不齐。

查看CSV,不让Excel插手

在这里而不是在Excel中查看CSV,原因在于Excel会在打开文件的同时修改它。邮政编码或账号开头的0会被去掉,因为那一列看起来像数字。超过15位的编号会被四舍五入。任何看起来像日期的内容都会被改成本地格式,于是03/05的含义取决于所在国家。像SEPT1这样的基因名会变成日期——这个问题顽固到遗传学家干脆给这些基因改了名。这里不会发生任何此类情况:值的显示与文件中的字节完全一致。

CSV没有真正的标准,所以第一步是弄清文件到底是什么格式。分隔符可能是逗号、分号或制表符——欧洲地区导出时用分号,因为逗号是他们的小数点——编码可能是UTF-8,也可能是旧式代码页,一旦猜错,带重音的名字就会变成乱码。两者都是自动检测而非预设的,几乎能应对所有真实的导出文件;检测出错时也都可以手动修改,不会让您束手无策。

引号是简易查看器最容易出错的地方。带引号的字段可以合法地包含逗号、换行和成对的双引号,因此一行保存邮寄地址的数据在文件中会跨越好几行,却仍然是一条记录。只按逗号拆分的工具恰恰会把这些行弄乱——这就是为什么文件在文本编辑器里看起来正常,在查看器里却不对,或者反过来。

字段数不齐的文件——某些行的字段比表头多或少——会按原样显示,而不是被悄悄补齐或截断,因为字段数不对的行通常是前面某处引号问题的症状,把它藏起来就等于把bug藏起来。整个文件在页面中解析,因此内存占用与文件大小成正比。

如果您需要的是别的

在命令行中,csvkit正是为此而生:csvlook打印对齐的表格,csvstat汇总每一列,csvclean报告并修复字段数不齐的行。Miller——mlr --icsv --opprint cat data.csv——能以高速完成同样的工作,还能处理比内存还大的文件。如果要交互式地探索数据,VisiData值得了解:它能在终端里瞬间打开几GB的文件,并支持排序、筛选和频次统计。

如果一定要用Excel打开CSV,请使用数据 → 从文本/CSV,而不是双击文件。导入对话框可以在解析之前设置每一列的类型,这是阻止上述转换的唯一可靠办法。双击等于允许Excel去猜,而它总是猜得很自信。

常见问题

我的文件会被存储吗?

不会。不存储任何内容,也不保留任何内容,页面加载后即使关掉Wi-Fi也能使用。CSV通常是客户名单、导出数据或财务报表,这类文件恰恰不该交给陌生人的服务器。

为什么Excel会把我的CSV弄乱?

因为Excel在打开文件时会不经询问就进行转换。产品编码00123变成数字123,开头的0就此永久丢失。像5-3这样的零件号变成5月3日。很长的订单号变成1.23457E+14。以分号分隔的德国CSV全部挤在A列。这些都不在您的文件里——而是Excel在打开时对它做的事。本查看器把每个值都作为文本、按存储时的原样显示,让您看到收到的究竟是什么。

支持哪些分隔符和编码?

逗号、分号、制表符和竖线,通过读取文件内容而不是扩展名来检测——德国系统导出的“CSV”通常以分号分隔。编码也会自动检测:带或不带字节顺序标记(BOM)的UTF-8、UTF-16,以及旧系统生成的Windows-1252/Latin-1文件。如果编码不对,本该是“é”的地方会显示成“é”,页面允许您更改编码。

能处理包含逗号的带引号字段吗?

能——严格按照RFC 4180正确处理。用引号包裹的字段可以包含逗号、换行和转义引号,三者都能正确处理。不考虑引号直接按逗号拆分是经典的CSV bug,它会悄悄让出问题字段之后的每一列都错位。

能打开多大的文件?

取决于可用内存,而不是固定的大小上限——几十MB、几十万行的文件都没问题。只绘制屏幕上可见的行,所以大文件滚动起来依然流畅。

可以编辑或转换吗?

本页面用于查看。如需转换,我们的[CSV转Excel](csv-to-excel)和[CSV转JSON](csv-to-json)工具正好能做到,而且会把开头的0作为文本保留,不让电子表格把它们吃掉。

小贴士: 整个文件在页面中解析,因此非常大的导出文件会占用与其大小成正比的内存。分隔符、引号规则和编码都是自动检测而非预设的,几乎能应对所有真实的导出文件——如果检测出错,您可以手动修改,不会束手无策。

把这个工具放到您的网站上

博客、课程页面或帮助文章均可免费使用。粘贴一段代码,访客就能直接在您的页面上使用。