CSV 转 SRT
或者粘贴字幕文本
这次转换会改变什么
这个方向不会丢失内容 —— 源格式的每一项特性在目标格式里都有地方可去。
这份清单来自这两种格式的能力矩阵,而不是你加载的这份具体文件。如果具体文件用到了格式允许、但矩阵没有建模的特性,可能会丢得更多。
这一页把一张表变成能直接播的 SRT。它需要三样东西:起始时间、结束时间、正文;这些列靠表头认,不靠位置,所以列顺序不同、表头写成 begin 或 finish 也能直接转。没有表头时,按 start、end、text 的顺序读。
表头匹配是宽松的:start、start time、timecode in、begin、from、in 都认作起始;end、stop、to、out、finish 都认作结束;text、subtitle、content、line、dialogue、transcript 都认作正文;空格、下划线、连字符忽略,大小写不敏感。
单元格里的时间码按表格软件常见的写法读:分秒或时分秒,小数前可以是逗号或点,小数一到三位;.5、.50、.500 都是半秒。没有加引号、被时间码里的逗号拆成两列的行会被拼回去——真实文件就是这样,而不是标准里写的那样。
一行转一条,按行序输出,编号从 1 开始。转换在浏览器里完成,文件不上传;批量拖入会串行处理,最后打包下载。
示例
一份典型的 CSV 文件转成 SRT
输入
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."
输出
1
00:00:01,000 --> 00:00:03,500
The quick brown fox.
2
00:00:04,000 --> 00:00:06,250
Jumps over, the lazy dog.
3
00:00:07,000 --> 00:00:09,000
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.
输出
1
00:00:01,000 --> 00:00:04,000
Hello there, friend.
2
00:00:05,000 --> 00:00:07,000
Second line.
3
00:00:10,000 --> 00:00:10,001
End before start.
4
00:00:12,000 --> 00:00:14,000
Unquoted comma in text, right here.
真实文件里常见的损坏:混合换行、散落的空白、留空的字段。可以对照上面那份干净样例,看看解析器能容忍到什么程度。
常见问题
CSV 转 SRT 认哪些表头名字?
start、start time、timecode in、begin、from、in 都算起始;end、stop、to、out、finish 都算结束;text、subtitle、content、line、dialogue、transcript 都算正文。空格、下划线与连字符会被忽略,大小写不敏感。
CSV 没有表头时,CSV 转 SRT 怎么读列?
按顺序取前三列:start、end、text。判断有没有表头看第一格是不是时间码——第一行是真字幕时不会被误认成标签行。
CSV 转 SRT 时,单元格里的时间码可以写成哪些形式?
分秒或时分秒都行,小数前用逗号或点都可以,小数一到三位:.5、.50、.500 都读成半秒。表格软件产生的小数位不统一时,这一条就是它的容错。
CSV 转 SRT 时,时间码里的逗号被拆成两列怎么办?
会自动拼回去。SRT 写法的时间码本来就带逗号,粘进表格又没加引号时会落进两列;两半看起来像同一个时间码的两截时,转换器会把它们合起来再读。
CSV 转 SRT 能直接在表格里从零做一份字幕吗?
可以,而且这正是这一页最常见的用法:三列,一行一条字幕,写完直接转。改文字时表格比字幕文件好编辑,转回来只差一次点击。