[問題] 如何把ANSI編碼的CSV讀入Python?

看板Python作者 (BLG_Eric)時間8年前 (2016/07/26 11:58), 編輯推噓1(1032)
留言33則, 6人參與, 最新討論串1/1
各位好 在這裡想請問大家 Python裡有沒有什麼方法 可以讀ANSI編碼的CSV 我不想用convert的方式換成其他編碼方式 因為讀大檔案的時候會很拖時間 請各位大神指導 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.32.19.185 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1469505519.A.B22.html

07/26 12:57, , 1F
用 iso8859-1 編碼打開?
07/26 12:57, 1F

07/26 12:57, , 2F
handle = codecs.open(filename,encoding='iso8859-1')
07/26 12:57, 2F

07/26 14:00, , 3F
感謝解答 但是如果CSV檔案內有中文字要怎麼辦
07/26 14:00, 3F

07/26 14:01, , 4F
用Big-5嗎
07/26 14:01, 4F

07/26 14:03, , 5F
我指的中文是ANSI+中文字
07/26 14:03, 5F

07/26 14:05, , 6F
你不是都說只管 ansi 了怎麼還有 big5 ?
07/26 14:05, 6F

07/26 14:06, , 7F
若你說的中文,是說檔案內本身編碼為 big5
07/26 14:06, 7F

07/26 14:06, , 8F
那你就指定編碼讀取就可以了,上面原本寫法改一下
07/26 14:06, 8F

07/26 14:07, , 9F
應該說檔案是有中文字的ANSI編碼
07/26 14:07, 9F

07/26 14:08, , 10F
iso8859-1可以開但是中文會變亂碼
07/26 14:08, 10F

07/26 14:11, , 11F
就上面說,用 big5 編碼開啟
07/26 14:11, 11F

07/26 14:13, , 12F
試過了沒辦法開
07/26 14:13, 12F

07/26 14:14, , 13F
具體描述一下什麼叫做沒辦法開?要討論至少得有個資訊
07/26 14:14, 13F

07/26 14:14, , 14F
因為檔案本身是ANSI 但是裡面內容有中文字
07/26 14:14, 14F

07/26 14:18, , 15F
程式碼辦法開的具體錯誤訊息??
07/26 14:18, 15F

07/26 14:18, , 16F
(沒辦法開)
07/26 14:18, 16F

07/26 14:19, , 17F

07/26 14:21, , 18F

07/26 16:58, , 19F
你可能要獨立寫一段程式碼測這功能
07/26 16:58, 19F

07/26 16:58, , 20F
要不然直接在大架構內 django 直接用是很難知道你的問題
07/26 16:58, 20F

07/26 17:58, , 21F
到底是什麼編碼?
07/26 17:58, 21F

07/26 19:34, , 22F
直接傳 data 上來,至少讓他人重現你的問題
07/26 19:34, 22F

07/26 19:46, , 23F
另外直接用 cp950 開會比big5好
07/26 19:46, 23F

07/26 20:06, , 24F
0x97...或許是Big5+UAO
07/26 20:06, 24F

07/26 22:03, , 25F
那用 big5hkscs 應付看看, 不然就要自己寫了
07/26 22:03, 25F

07/26 23:35, , 26F
「中文字的ANSI編碼」這個描述根本就自相矛盾...
07/26 23:35, 26F

07/27 15:43, , 27F
感謝各位回答 data連結如下
07/27 15:43, 27F

07/27 15:44, , 28F

07/27 15:45, , 29F
黃色csv圖示便是
07/27 15:45, 29F

07/27 17:09, , 30F
用CP950可解吧
07/27 17:09, 30F

07/27 22:04, , 31F
你應該是讀錯檔案,你提供的資料不管cp950,big5 都能讀
07/27 22:04, 31F

07/27 22:07, , 32F
07/27 22:07, 32F

07/28 01:50, , 33F
好的我再試試 感謝解答
07/28 01:50, 33F
文章代碼(AID): #1Nbj_liY (Python)
文章代碼(AID): #1Nbj_liY (Python)