CSV 轉 TXT
或者貼上字幕文字
這次轉換會改變什麼
有 2 項會被捨棄或需要你決定
- 時間
整條時間軸(輸出格式完全不記錄時間)
- 換行
換行(多行字幕會被合併成一行)
這份清單來自這兩種格式的能力矩陣,而不是你載入的這份具體檔案。如果具體檔案用到了格式允許、但矩陣沒有建模的特性,可能會遺失更多。
這一頁把 CSV 表格轉成 TXT。表格用表頭認出開始時間、結束時間與正文;沒有表頭時就按 start、end、text 的順序讀。轉換全程在瀏覽器裡完成,不上傳、不需要帳號。
兩個格式能存的東西不同,差別不是外觀問題:時間軸與換行分組在 TXT 裡沒有落點。上方清單來自兩個格式各自能表達什麼,不是讀了你的檔案才算出來的,所以檔案還沒載入就已經是這個答案。
時間碼寫到毫秒;正文裡的逗號會強制整個欄位加上雙引號,換行也留在同一格裡,讀回時才不會被拆成兩條。單檔可以,整季也可以:佇列依序處理,結果打包成一個 ZIP。
範例
一份典型的 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.
這份產物丟掉了:時間軸與換行分組。其餘內容逐行對得上。
同一轉換遇到結構鬆散的 CSV 輸入
輸入
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 後,時間碼還在嗎?
不在了。CSV 的時間碼在 TXT 裡沒有落點:輸出的第 40 行仍然是原檔的第 40 行,但沒有任何欄位說明它何時出現在畫面上。
CSV 的兩行字幕轉成 TXT 後,還讀得出是同一條嗎?
兩行都會寫出來、上下相鄰,但檔案不再說明它們屬於同一條:TXT 不能把行分組,CSV 裡的一條字幕,別的工具再讀時會變成兩條。若後面還要交給翻譯或對時工具,這一點要記得。
CSV 轉成 TXT 的產物長什麼樣子?
TXT 是最少的:沒有編號、沒有時間碼,一行文字就是一行字幕。CSV 的每一條 cue 會展開成它的文字行,順序照舊。
CSV 的 cue 順序在 TXT 檔裡會重排嗎?
會按開始時間排序,最早的在前。CSV 的每一條字幕進到 TXT 都照這個順序寫;若原檔本來是亂的,產物會把它們排回正確順序——改的是結構,不是內容,這也是本站每個格式共用的讀檔順序。
把 TXT 轉回 CSV 時,時間碼補得回來嗎?
補不回來。TXT 沒有時間碼,轉回 CSV 時時間軸是重新排出來的:第一行從 0 開始,每行預設 2 秒。原本的時間已經不在檔案裡。
CSV 轉 TXT 的產物用什麼編碼與換行?
一律是 UTF-8、Unix 換行(LF)、不帶 BOM,不管 CSV 原檔用什麼。若輸入是 UTF-16 或 Windows 單一位元編碼,讀入時會先解碼,結果面板會說明;TXT 產物永遠是同一種 UTF-8。