iconv工具解決csv檔案中文亂碼問題

2021-10-21 11:53:13 字數 1390 閱讀 9651

1、iconv 簡介

iconv是知名的開源跨平台編碼轉換庫,iconv.exe是iconv庫在windows下的命令列工具

作用為:對於給定檔案把它的內容從一種編碼轉換成另一種編碼。

2、iconv用法

# iconv --help

-f encoding :把字元從encoding編碼開始轉換。

-t encoding :把字元轉換到encoding編碼。

-l :列出已知的編碼字元集合

-o file :指定輸出檔案

-c :忽略輸出的非法字元

-s :禁止警告資訊,但不是錯誤資訊

--verbose :顯示進度資訊

-f和-t所能指定的合法字元在-l選項的命令裡面都列出來了。

# iconv -l
# iconv  -f euc-jp-ms -t utf-8 file1 -o file2   //沒-o那麼會輸出到標準輸出.
3、csv檔案中文亂碼問題解決
# file test.csv 

test.csv: iso-8859 text, with crlf, lf, nel line terminators

或者# file --mime-encoding test.csv

test.csv: iso-8859-1

2、檢視系統語言設定

# cat /etc/locale.conf

lang=en_us.utf-8

注:可以看出該centos系統是以utf-8編碼的

利用iconv工具將檔案從iso-8859轉換成utf-8

命令:

# iconv -f iso-8859 -t utf-8 test.csv -o test2.csv

結果出現以下報錯:

iconv: conversion from `iso-8859' is not supported

try `iconv --help' or `iconv --usage' for more information.

解決方案:將iso-8859換成gbk

命令:

# iconv -f gbk -t utf-8 test.csv -o test2.csv

iconv: illegal input sequence at position 12656765

# file 2.csv 

2.csv: utf-8 unicode text, with crlf, lf line terminators

編碼格式改變後的輸出檔案已經可以正常顯示中文嗎,不再亂碼!!!

工具篇 csv檔案讀寫

目的 在python處理資料的很多時候,需要載入檔案,通常還是csv格式,希望載入之後是個二維列表 陣列,這樣才方便處理 1.簡單的api能夠匯入資料到記憶體中 2.能夠適應複雜 大資料量機器學習的場景csvimport pandas as pd import numpy as np df pd.r...

csv檔案生成小工具

如果用shell來做這件事的,通常是兩種方法 1.捕獲終端輸出,後續對輸出做一定處理。但是終端輸出實際上已經丟失了很多格式資訊,很難做到完善處理。2.用mysql內建的file命令一次性生成檔案。mysql內建的函式功能有限,沒法做到比較好的輸出格式化。所以選擇了python來做。主要注意幾點 1....

Python 匯出csv檔案,解決Excel亂碼

使用python提供的csv模組,匯出excel檔案,指定編碼格式後,在 indows中開啟依然出現亂碼,原因 windows的excel使用bom來確定檔案是utf8編碼,將bom寫在檔案開頭即可。使用csv模組,配合django.http.streaminghttpresponse使用生成器進行...