You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Linux终端通过命令将CSV文件转换为CSV UTF-8(逗号分隔)格式?

查看文件类型
  • 执行文件类型检测命令:file status.csv
    输出会直接展示文件的编码格式、行结束符等属性,示例输出如下:

    status.csv: CSV text, ISO-8859 text, with CRLF line terminators

  • 如果需要确认当前分隔符类型,可查看文件前3行内容:head -n 3 status.csv,直接识别原文件用的是逗号、分号还是制表符作为分隔符。
  • 如需精准检测文件编码,可使用chardet工具:
    1. 先安装对应包:Debian/Ubuntu系执行sudo apt install chardet,CentOS/RHEL系执行sudo dnf install python3-chardet
    2. 检测编码:chardet status.csv,输出会直接给出原文件的编码类型。
转换为CSV UTF-8(逗号分隔)格式

场景1:原文件已经是逗号分隔,仅需转编码为UTF-8

  • 用iconv命令直接转编码,把[原编码]替换为上一步检测到的编码即可:
    iconv -f [原编码] -t utf-8 status.csv > status_utf8.csv
    例如原编码为GBK时,命令为iconv -f gbk -t utf-8 status.csv > status_utf8.csv

场景2:原文件分隔符不是逗号,需同时转换编码和分隔符

  • 可组合iconv和awk命令一步完成转换,把[原编码]、[原分隔符]替换为对应值即可:
    iconv -f [原编码] -t utf-8 status.csv | awk 'BEGIN{FS="[原分隔符]";OFS=","} {$1=$1; print $0}' > status_utf8_comma.csv
    例如原文件是GBK编码、分号分隔时,命令为iconv -f gbk -t utf-8 status.csv | awk 'BEGIN{FS=";";OFS=","} {$1=$1; print $0}' > status_utf8_comma.csv
    若原分隔符是制表符,把FS值替换为\t即可。

  • 注意:转换完成后可以执行file status_utf8.csv和head -n 3 status_utf8.csv验证编码、分隔符是否符合要求。

  • 注意:如果原文件是Excel导出的带BOM的UTF-8 CSV,需要去掉BOM的话可执行命令:iconv -f utf-8 -t utf-8//IGNORE status.csv > status_utf8_nobom.csv

内容的提问来源于stack exchange,提问作者Raphael Lima

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 23:18:03