免费 CSV 查看器与表格渲染器
粘贴或上传 CSV/TSV,渲染为可排序、可搜索的表格。自动检测分隔符。无需打开 Excel 即可检查数据导出。
将文件拖放到此处,或点击浏览
CSV, TSV, TXT · 在你的设备上处理
或按 Ctrl+V 从剪贴板粘贴
你的文件永远不会离开你的设备。所有处理都在你的浏览器中本地进行。
常见用途
- 快速CSV检查在浏览器中打开CSV文件以检查其结构,无需启动Excel或数据库工具。
- 调试应用导出的CSV检查应用导出的CSV以验证数据和格式,然后再发送给客户或利益相关者。
- 导入前准备数据在导入数据库、电子表格或CRM之前检查CSV以验证结构。
- 学术数据集检查打开CSV研究数据、调查回复或实验结果进行快速初览。
- 轻量级电子表格替代品当您只需要读取CSV文件时立即打开它们,无需启动Excel或Google Sheets。
工作原理
CSV 查看器使用直接内置在工具中、符合 RFC 4180 的手写分词器解析和渲染你的文件——没有第三方 CSV 库、没有服务器。整个过程都在你的浏览器中运行:文件读取、分隔符检测、排序、筛选和导出。
- 1文件读取与分隔符检测上传的文件通过浏览器的 File.text() API 读取;粘贴的文本从文本框获取。然后工具扫描前 2000 个字符,统计引号字段之外的逗号、制表符、分号和竖线出现次数——出现最多的自动成为当前分隔符。
- 2RFC 4180 分词逐字符分词器遍历原始文本,跟踪引号字段状态,因此双引号内的逗号、竖线或换行被视为字面内容而非分隔符。转义引号(两个连续的双引号字符)会合并为一个引号,符合 RFC 4180 规范。
- 3可排序、可搜索的表格与列概况解析后的行保存在内存中,每次按键都在客户端进行筛选。点击列标题会使用类型感知的比较器排序:如果该列 80% 或以上的非空值可解析为数字,则按数值排序,非数字值排到最后;否则使用符合地区习惯的字符串比较。统计面板完全在浏览器中计算每个数值列的计数、不同值数量、最小值、最大值、平均值和中位数。
- 4分页显示与多格式导出为保持 DOM 响应流畅,行按每页 500 行分页,而搜索和排序仍作用于完整数据集。当前视图(表头加上经筛选、排序的行)可以导出为干净的逗号分隔 CSV(无论原始分隔符是什么)、Markdown 表格或 JSON 对象数组——全部在本地生成,可复制到剪贴板或下载为文件。
你的 CSV 文件直接在浏览器中读取,绝不会上传到任何服务器——只有文件大小(以 KB 计)会发送到统计服务,用于计算工具使用量。
指南
操作示例
点按“尝试示例”。会出现一个表格,带有“#”列,以及五个人的 Name、Email、City、Signup、Orders 和 Notes 表头。摘要显示“粘贴的数据 · 5 行 · 6 列”,“显示 5 / 5”统计的是同样的五行数据;表头那一行不计入。“Team lead, west region”因为加了引号,所以保持在一个单元格内。点按“Orders”表头:各行按 7、29、34、41、52 排序,并出现一个向上的箭头;再点按一次,52 排在最前。点按“统计”:Orders 卡片显示计数 5、不同值 5、最小值 7、最大值 52、平均值 32.6 和中位数 34。在“搜索…”中输入 tokyo:显示“显示 1 / 5”,只剩下 Carol Davis。“复制”现在会把这一行连同表头一起以 CSV 复制,而“下载JSON”会保存 table.json。
使用哪些设置,以及限制
- 通过文件或粘贴来打开数据。 把 .csv、.tsv 或 .txt 文件拖到拖放区,或用“浏览文件”选择。也可以粘贴到“在此粘贴 CSV/TSV…”:向空的输入框粘贴时,只要文本含有换行、制表符、逗号、分号或竖线,就会立即显示表格,而键入的文本则需要点按“查看表格”。“编辑”会把粘贴的数据放回输入框,“清除”则重新开始。文件按字节读取:字节顺序标记、UTF-16 或有效的 UTF-8 都能识别,其他情况则按页面语言猜测的旧代码页解码。
- 需要时,自己设置分隔符和表头。 “自动检测分隔符”起初是勾选的。它统计前 2,000 个字符中、引号文本之外的逗号、制表符、分号和竖线,并使用出现最多的那一个;Excel 的“sep=”首行会被遵从并隐藏。取消勾选后可选择“逗号 (,)”“制表符”“分号 (;)”或“竖线 (|)”。“第一行是表头”起初是勾选的;取消勾选后,各列会命名为“第 1 列”“第 2 列”等,第一行则作为数据显示。
- 排序、搜索,并读取小数逗号。 点按列标题进行排序,再点按一次则反向;箭头显示方向。当一列中至少 80% 的非空单元格是数字时,它按数字排序,其他单元格排在最后;否则按文本排序,所以日期只有写成年-月-日的形式,例如 2023-04-12,才能正确排序。在分号文件中,“1.234,56”和“12,5”会被视为 1234.56 和 12.5。“搜索…”会保留任何单元格含有您所输文字(忽略大小写)的行;如果没有匹配的行,您会看到“无匹配行”并附上您的文字。
- 打开统计,快速了解数据概况。 “统计”会为每一列显示一张卡片,包含“计数”(非空单元格)和“不同值”。如果一列中至少 80% 的非空单元格是数字,它还会得到“最小值”“最大值”“平均值”和“中位数”,保留两位小数,由其数值单元格计算得出。其他列则列出最多三个“最高值”及其各自出现的次数。卡片会随搜索框变化,所以它们只描述当前显示的行。
- 复制或下载您看到的视图。 “复制”会把表格以逗号分隔的 CSV 放到剪贴板,需要时给单元格加引号。“复制为Markdown”给出竖线表格,“下载”保存 table.csv。“下载JSON”保存 table.json:一个以表头名称为键的对象列表,重复的名称会加上 _2,空白的则变成 column_ 加上它的位置,例如 column_3。所有值都是文本,所以数字保持原样。这四项都使用当前的搜索和排序,并且无论源文件的分隔符是什么,CSV 输出始终使用逗号。
- 大文件一次显示 500 行。 表格每页显示 500 行,下方有“上一页”“下一页”和“第1页(共3页)”。排序、搜索、统计和导出覆盖所有行,而不仅仅是当前可见的页面。过长的单元格会在表格中被截断;把鼠标悬停在上面即可看到完整的值。它会把整个文件读入内存,并一次性解析,所以能打开多大的文件取决于您的设备。文件在您的浏览器中读取,不会上传。
常见问题及解决方法
- 它显示“budget.xlsx 是此工具无法打开的 XLSX 文件。”(显示您自己的文件名和格式)。
- 拖放区不仅检查文件名,还检查文件的最前面几个字节。Excel 工作簿是 zip 包,而不是文本,所以会被拒绝,提示中会指明它的真实格式,通常下方还有指向 Excel / XLSX 查看器的链接。要使用这个工具,请在 Excel 中打开工作簿并选择“另存为”,再选 CSV,然后把那个文件拖到这里。
- 列看起来不对:姓名和备注被拆开了,或挤在了一起。
- 自动检测会使用前 2,000 个字符中出现最多的那一个分隔符,在四个候选中选择。引号内的逗号会被跳过,但不带引号的小数逗号会被计入,所以满是 12,5 这类数字的分号文件,可能被当作逗号分隔来读取。请取消勾选“自动检测分隔符”,选择“分号 (;)”,或您的文件实际使用的分隔符。
- 带重音或非英文的字母显示成了奇怪的符号。
- 当文件不是有效的 UTF-8 时,工具会根据页面语言猜测一种旧代码页,例如英语页面用 Windows-1252,俄语页面用西里尔代码页,土耳其语页面用 Windows-1254。这里没有编码菜单,所以猜错时就会显示成奇怪的符号。请把文件重新保存为 UTF-8(在 Excel 中选“CSV UTF-8”),或者用文件所写语言的版本来打开这个工具。
- 数字列被当作文本排序,10 排在 9 前面。
- 只有当一列中至少 80% 的非空单元格能解析为数字时,才算数值列。货币符号、像 12 kg 这样的单位,以及 n/a 之类的词都无法解析,所以足够多的这类内容会让整列按文本排序。请去掉数据中的符号,或把单位移到表头里,然后重新加载。
- 行数比有数据的行数更多。
- 摘要和“显示”都统计表头以下的每一行,数据中的空行会被算作只有一个空单元格的行。请删除源文件中的空行,然后重新加载。在勾选“第一行是表头”时,表头那一行本身不计入;如果您的第一行是数据,请取消勾选。
对比分析
这是一个查看器,不是电子表格。您不能编辑单元格、写公式、绘制图表或打开多个工作表,.xlsx 工作簿应使用 Excel / XLSX 查看器。作为回报,它无需安装任何软件就能打开 CSV、TSV 或粘贴的文本,能读取含有逗号的带引号字段,能猜测分隔符,能排序、搜索并统计每一列,还能把筛选后的视图导出为 CSV、Markdown 或 JSON。列统计很基础:计数、不同值、最小值、最大值、平均值、中位数和三个最高值。如果需要数据透视表或公式,请使用电子表格程序。
相关工具
VCF 查看器(打开 vCard 联系人文件)
打开 .vcf 联系人文件并读取每位联系人:姓名、电话、邮箱、地址和照片。搜索、发现重复项、导出为 CSV 用于 Excel 或 Google 通讯录、拆分为每人一个文件,或保存为干净的 vCard 3.0。
ICS 查看器(打开日历文件)
打开 .ics 日历文件,按您的时区逐日查看事件:时间、地点、参与者和重复规则。搜索、保存单个事件、添加到 Google 日历、导出为 CSV 用于 Excel,或打印。
EML 邮件查看器
打开 .eml 邮件文件,读取邮件头和正文,并下载附件——无需邮件客户端。本地解析,不上传任何内容。