CSV 列選擇清理

選擇列、調整順序、清洗取值,匯出仍是原來的格式。

使用方法

  1. 把表格貼上進輸入框,下方立刻出現一排列標籤,每個標籤帶上這一列的空值個數與不重複取值個數——刪哪一列有據可查,不用靠列名猜。
  2. 點一下標籤就是刪掉這一列,再點一下會回到原來的位置;箭頭把保留的列往前或往後挪一位,這個順序就是輸出的列序。需要時勾上「Trim 首尾空白」「大小寫」「刪除全空列」「按保留列去重」——結果即時重算,頁面上沒有任何要點的提交按鈕。
  3. 複製或下載結果。輸出沿用你輸入的分隔符與換行符號,貼進來是 Tab 分隔、出去還是 Tab 分隔;屏上看到的、複製的、下載的是同一份文本。

示例

輸入(CSV)

訂單號,客戶,備註,折扣,城市
0001, 張 偉 ,要求 3 月 11 日送達,,上海 
0002,"李娜",已發貨,待簽收,, 杭州 
0003, 王芳 ,"特價,不含運費",,北京
0001,張 偉,,  ,上海

輸出(勾選 Trim + 刪除全空列 + 按保留列去重)

訂單號,客戶,備註,城市
0001,張 偉,要求 3 月 11 日送達,上海
0002,李娜,已發貨,待簽收,杭州
0003,王芳,特價,不含運費,北京
0001,張 偉,,上海

四點可以對著核對:折扣列在預設口徑下的畫像是「空 3 · 唯一 1」,那唯一的值是兩個空格——沒勾 Trim 時它算有值,所以列不會被刪;勾上 Trim 後它變空,畫像成「空 4 · 唯一 0」,該列才被刪掉,註記裡點名「折扣」。姓名的全形空格只去掉首尾,中間那個保留,所以輸出仍是「張 偉」。城市「上海 」去掉尾隨空格後與第 1 行相同,但一行有備註、一行空著,兩行並不重複,所以行數仍是 4 → 4、只有列數 5 → 4。全形逗號「,」不是分隔符,所以「特價,不含運費」輸出時不帶引號,原始檔裡包住李娜的那對引號同樣被去掉。

口徑、侷限與已知問題

  • 不上傳任何內容:解析、清洗、重繪都只在本頁進行。不提供檔案上傳 / 拖放 / URL 抓取,請貼上文本;要開啟本地 .csv(尤其 GB18030、Big5、Windows-1256 編碼)請用 CSV 檢視器,再從那裡複製文本。
  • 預設什麼都不改:Trim、大小寫、刪除全空列、去重全部預設關閉,所有列預設保留。沒勾 Trim 時「 」仍算有值,因此「ABC」與「ABC 」在去重時被視為不同的單元格。
  • Trim 只刪首尾空白(含全形空格、不換行空格、零寬字元),不刪值中間的空格;LRM/RLM 這類方向標記會被保留,刪掉會破壞阿拉伯文的顯示。表頭不會被 Trim 或摺疊大小寫——列名是你識別這一列的依據。
  • 永不把取值當型別或日期看:89.90 還是 89.90,00721 保住前導零,03/04/2026 不被解析。歧義格式一律不猜,也不做全形↔半形與標點規範化(那屬於文本清理工具)。
  • 去重按保留列逐字精確比較(不折疊大小寫、不用語言排序規則,因此結果與介面語言無關),只保留首次出現,並列出被刪除的源行號;沒有「保留最後一條」這一說,也不會給資料行排序。
  • 只有當某一列在所有資料行都為空時才會被「刪除全空列」去掉,並且會在註記裡點名列名;跨所有保留列都為空的資料行會被刪除,同樣給出行號。欄位偏少的行會被補上空單元格,以保證列對齊。
  • 列標籤上的空值/唯一值統計只在資料行 ≤ 5,000 時給出;超過就明說不統計,不會抽一部分資料算個看起來精確的數字糊弄你。
  • 輸入上限 1,000,000 個字元;超過 200,000 會提醒你結果延後重算。畸形的 CSV 不會被拒絕:引號沒閉合就取到文本末尾並點名行號,空行跳過並計數,欄位數不符的行會被列出行號。
  • 輸出不含 BOM、結尾不加空行,且與複製到的內容逐字一致。如果 Excel 雙擊開啟含非拉丁字元的 CSV 出現亂碼,請改用「資料 → 從文本/CSV」匯入並選擇 UTF-8。
  • 輸出按最小引號規則重新寫一遍:只有包含分隔符、引號或換行的欄位才帶引號,所以「每個欄位都加引號」的原始檔出來是不帶引號的,寫成一對引號的空欄位出來是真正的空。選項全關時欄位值本身不變,分隔符與換行符號沿用你輸入的。
  • 不做的事:改單元格、重新命名表頭、拆列 / 合併列、查詢取代 / 正則、給資料行排序、型別與日期轉換——請分別使用 CSV 檢視器、CSV ⇄ JSON 與文本清理。

同一個表格的相鄰步驟:開啟它、整理它、轉換它。