跳到主要内容
SubtitleMatrix

CSV 转 TXT

或者粘贴字幕文本

这次转换会改变什么

有 2 项会被丢弃或需要你决定

  • 时间

    整条时间轴(输出格式完全不记录时间)

  • 换行

    换行(多行字幕条会被合并成一行)

这份清单来自这两种格式的能力矩阵,而不是你加载的这份具体文件。如果具体文件用到了格式允许、但矩阵没有建模的特性,可能会丢得更多。

这一页把 CSV 里的文字抽成纯文本。产物只有一行行的句子,没有时间码,也没有“这几行属于同一条字幕”的结构;转换在浏览器里完成,不上传。

丢两样,而且都回不来。时间轴:TXT 没有任何字段能记第几秒出现,顺序保留,第 40 行还是第 40 行,但什么时候上屏已经不在文件里。换行结构:一条两行的字幕两行都会写出来,可读回去会变成两条独立的字幕。

这两件事在后续要交给翻译或重新对轴的工具时才显出代价——那些工具读到的是一条条独立的行,而不是原来的字幕条。

CSV 的列按表头识别,没有表头时按 start、end、text 顺序读;时间码被逗号拆成两列时会拼回。产物按起始时间升序,一条字幕的每一行占一行,两行的字幕就是相邻的两行,中间没有空行。

转换在本机完成,不上传,可以批量。产物是 UTF-8、Unix 换行、无 BOM,适合校对稿与纯文本交接。

示例

一份典型的 CSV 文件转成 TXT

输入

start,end,text
00:00:01.000,00:00:03.500,The quick brown fox.
00:00:04.000,00:00:06.250,"Jumps over, the lazy dog."
00:00:07.000,00:00:09.000,"Two lines here.
And a second one."

输出

The quick brown fox.
Jumps over, the lazy dog.
Two lines here.
And a second one.

这份产物丢掉了时间轴与两行字幕的分组;其余文字逐行一致。

同一转换遇到一份脏文件

输入

id,start,end,note,text
1,00:00:01,000,00:00:04,000,cue one,"Hello there, friend."
2,00:00:05.000,00:00:07.000,cue two,Second line.
bad,notatime,00:00:09.000,cue three,Unreadable start.
4,00:00:10.000,00:00:09.000,cue four,End before start.
5,00:00:12.000,00:00:14.000,cue five,Unquoted comma in text, right here.

输出

Hello there, friend.
Second line.
End before start.
Unquoted comma in text, right here.

真实文件里常见的损坏:混合换行、散落的空白、留空的字段。可以对照上面那份干净样例,看看解析器能容忍到什么程度。

常见问题

CSV 转 TXT 后,时间码去哪了?

TXT 没有时间码可写。产物只有文字,顺序保留,第 40 行对应源文件的第 40 行,但文件里再没有任何字段说明它什么时候上屏。

CSV 转 TXT 后,一条两行字幕会怎样?

两行都会写出来,但分组没有了:TXT 不能把两行绑成一条字幕,读回去会变成两条独立的字幕。之后要交给翻译或对轴工具时,这一层结构找不回。

CSV 转 TXT 的产物长什么样?

像纯文本:没有编号、没有时间码,一条字幕的每一行占一行;两行的字幕就是相邻的两行。

CSV 转 TXT 会按起始时间排序吗?

会,最早的在前。文字顺序跟着时间轴走;CSV 原本乱序时,产物会被整理成升序。

CSV 转 TXT 之后,再转回 CSV 会丢什么?

会丢时间轴。TXT 里没有起止时间,回程只能按默认间隔补,补出来的时间与原来不再相同;那份清单和去程这一份不同。

CSV 转 TXT 的输出编码是什么?

UTF-8、Unix 换行、无 BOM。输入若是 UTF-16 或 Windows 单字节编码,会先解码再输出,结果面板会提示这次解码。

相关工具