免费在线将 CSV 转换为 文字

免费在线将 CSV 文件转换为 文字。上传后立即获得干净、适合 LLM 使用的结果。无需注册,单个文件最大 50 MB,不会存储文件。

CSV 转文本:只留值,不留表格语法

把 CSV 排成漂亮的表格,帮忙帮到某个点就开始帮倒忙了。九万行交易日志不需要列对齐——它们需要塞得进 某个地方、被切块、被向量化,或者被管道进下一个环节。这种规模下的表格脚手架纯属开销:竖线、填充空格、 分隔行,还要按文件的每一行翻倍。

本页把 .csv 文件转成扁平的可读文本。引号被解析、转义被还原、编码被归一,拿回来的就是 真实的值——一行一条记录,没有任何装饰。免费、免注册、上限 50 MB,文件不保留。想要对齐的表格版, 顶部的格式切换按钮一下就能到 CSV 转 Markdown,文件会 一起带过去,不用传两次。

实际发生了什么变化

"从 CSV 得到纯文本"听着像句废话——CSV 本来就是文本。其实不然:原始 CSV 里塞满了纯粹为了让解析器 找到字段边界而存在的机关:

  • 包裹用的引号消失。"Smith, John" 变成 Smith, John。引号从来不是数据的一部分,它们在那儿只是为了不让里面的逗号被当成 分隔符。
  • 双写引号被还原。"She said ""no""" 变成 She said "no"——这个值本来就是这样。
  • 内嵌换行被压平。自由填写的备注字段可以合法地在引号里带换行,于是一条记录在 文件里占了五行。不管它的话,下游一切按行处理的东西都会被毁掉。压平之后,一条记录就是一行。
  • 分隔符被统一。不管源文件用的是逗号、分号、制表符还是竖线,输出都是一致的—— 当你要处理来自好几个系统、各选了各的分隔符的文件时,这很要紧。
  • 编码归一为 UTF-8,Latin-1 导出的文件不会再在该出现 é 的地方冒出 é

表头行仍然出现在最上面,列名都在,供你参考——只是不会被反复重复,也不再和每个值视觉绑定。

token 算术题

这是大家对表格数据选文本而不选 Markdown 的头号原因,而且账算起来足够直白。

Markdown 表格按单元格收固定的费——一根竖线、一个前导空格、一个后置空格——外加一行分隔行。十列的表, 每一行在装进任何数据之前就先多了三十来个字符。一万行下来,你添了几十万个不携带模型所需任何信息的 语法字符。同样的值,footprint 大出一截。

这笔账要不要紧,完全取决于你的文件。最诚实的验证办法是两种都转、读一读输出下方的 token 计数器—— 它就在那儿,用格式切换按钮点两下就行,比猜强。小型分析数据集上表格赢,因为对齐真的能帮到模型; 任何长文件上文本赢,因为它塞得进去。

向量化、索引,以及按行切块

如果这份 CSV 的去处是向量数据库或搜索索引而不是聊天窗口,你要的格式就是扁平文本。

检索管线要给文档切块,而表格数据天然的块就是记录。一行一条记录正好对上:按换行切、逐行 embedding、 完事。Markdown 表格的行技术上也各占一行,但那样每个块都带着竖线字符——改变向量却不增加语义—— 而表头的上下文被孤零零地留在几千行之外它自己那个块里。

全文检索同理。索引器按词边界和标点分词,喂它们表格语法,要么污染索引,要么写一个本不该需要的剥离 步骤。扁平文本原样进。它也是经典文本处理的正确形状——grepwc -lsortuniq、随手一个 Python 循环——转换后的文件就是普通输入,不用先解析。

你放弃了什么

把取舍摊开说:没有对齐的网格,值和列之间的关联就变弱了。模型读到扁平文本的第 4,000 行时,得一直 记着第七个值是地区码。它通常撑得住。窄文件、值又有辨识度——日期、货币、一眼能认的类别——它撑得 很轻松;一张全是裸整数的宽表,它就要开始猜了。

所以经验法则是这样的。对一份规模可控的数据集提分析型问题——"哪条产品线表现不佳"、"找出重复条目"、 "按季度汇总"——要的是 CSV 转 Markdown 和它的竖线表格。批量处理、检索、建索引、攒语料和写脚本,要的是纯文本。文件又宽又长的话,转换前 先削减到你真正关心的那几列;六列的导出比六十列的更会回答问题,跟格式无关。

大文件,以及什么时候该拆

这里的上传上限是 50 MB——对 CSV 来说非常多,典型的导出轻轻松松几十万行。转换没问题;把结果粘给 模型不行,目前市面上没有任何上下文窗口装得下。

几个比硬试更好的办法:

  • 有意识地抽样。几百行有代表性的记录,足够让模型了解你数据的形状、取值分布和 边角情况。对样本提问,得到的逻辑再由你自己跑遍全量文件。
  • 转换前先过滤。把没人问的列删掉。导出之所以宽,通常是因为有人全选了,不是因为 什么都重要。
  • 按自然键拆分——月份、地区、客户——让每块都是一个自洽的单元,而不是随手一刀。
  • 先聚合。问题是"趋势如何"的话,让模型对汇总数字推理,胜过对一百万行原始记录 推理,而且更便宜。

容易绊倒人的小事

  • 行尾逗号。有些导出器每行都以分隔符结尾,给每条记录末尾造出一个幽灵空列。无害, 但输出里看着别扭,还可能让脚本数错字段。
  • 缺失值不统一。空字符串、NULLN/A-\N 都表示"没有值",取决于写文件的是哪个系统。转换器原样透传,所以要做任何统计的话, 请自己归一化。
  • 行尾符。Windows 的 CRLF 和 Unix 的 LF 在屏幕上看不出来,对脚本有时候格外扎眼。 输出做了归一化。
  • 带千位分隔符的数字——引号里写成 1,234 的——是常见的困惑来源:那个 逗号是格式,不是结构,而且它会留在文本里,因为它确实是值的一部分。
  • 手上还有原始表格文件?Excel 转文本 直接读 XLSX、支持多工作表,还能整体绕开 Excel 导出 CSV 时引入的那一类问题。

常见问题

怎么把 CSV 转成 txt 文件?

.csv 拖进上方的转换器,把结果下载为 .txt。免费、免注册、单文件 50 MB。有必要说清楚:CSV 本来就是纯文本,这里做的是剥掉分隔符结构,把值以可读的、散文形状的行交给你。

我的 CSV 已经是文本了——为什么还要转?

因为对下一个读它的程序来说,"纯文本"和"逗号分隔"不是一回事。embedding 模型、分类器和全文索引会把每个逗号、每个引号都当成一个不带语义却占位置的 token。剥掉分隔符就是去掉这层噪音。当然,如果目的地本身解析 CSV,就别转——那等于扔掉了它想要的结构。

为什么我的 CSV 在含逗号的字段上断错了?

这是 CSV 的经典翻车,而且发生在任何转换器的上游。Smith, John 这样的字段在源文件里必须加引号;导出它的程序没有正确加引号的话,这一行在磁盘上就已经有歧义了,任何读取方都还原不出本来的切分。先打开原始文件检查引号,再谈输出的问题。

分号或制表符分隔的文件也能处理吗?

分号分隔的导出——欧洲很多地区的默认——常见到基本都能正确解析。麻烦的是顶着 .csv 扩展名保存的制表符分隔数据:扩展名承诺的是一回事,字节是另一回事。你的输出看起来像一根很长的单列时,原因就是这个错位。

CSV 转文本还是 CSV 转 Markdown?

行本质上是一份清单——一列 URL、产品名、错误码——分隔符纯粹碍事时,选文本。文件是货真价实的表格数据、需要人或模型分得清哪个值属于哪列时,选 Markdown

工具箱里的其他地方

File2Txt 一次上传接收所有支持的 格式。旁边还有:处理 API 转储和日志导出的 JSON 转文本、处理订阅源和老式 交换文件的 XML 转文本、处理另存 网页的 HTML 转文本,以及处理 文档的 PDF 转文本

数据就住在代码旁边的话,用 GitHub 转文本工具GitLab 转换器本地目录转换器把项目压平,两样一起 交给模型。网页来源用 Web2Txt 抓取在线网址。更多背景见 为 LLM 准备文件的指南

Repo2Txt 由 v12hero 开发和维护,那是一位独立开发者,专做隐私优先的原生应用和 Web 应用。