Python 处理带中文 Excel 文件
生活随笔
收集整理的這篇文章主要介紹了
Python 处理带中文 Excel 文件
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Python 處理帶中文 Excel 文件
- Python-Excel常規操作
- 安裝庫
- 寫入 Excel
- 讀取 Excel
- 測試文件
- 處理中文
- Ref
- 所遇到問題
Python-Excel常規操作
注意,是 xls 文件,不是 xlsx 文件
安裝庫
$ pip3 install xlrd xlwt xlutils安裝比較簡單,直接用 pip 工具安裝三個庫即可,安裝命令如下:
安裝完成提示 Successfully installed xlrd-1.2.0 xlutils-2.0.0 xlwt-1.3.0 即表示安裝成功。
寫入 Excel
接下來我們就從寫入 Excel 開始,話不多說直接看代碼如下:
# excel_w.py# 導入 xlwt 庫 import xlwt# 創建 xls 文件對象 wb = xlwt.Workbook()# 新增兩個表單頁 sh1 = wb.add_sheet('成績') sh2 = wb.add_sheet('匯總')# 然后按照位置來添加數據,第一個參數是行,第二個參數是列 # 寫入第一個sheet sh1.write(0, 0, '姓名') sh1.write(0, 1, '成績') sh1.write(1, 0, '張三') sh1.write(1, 1, 88) sh1.write(2, 0, '李四') sh1.write(2, 1, 99.5)# 寫入第二個sheet sh2.write(0, 0, '總分') sh2.write(1, 0, 187.5)# 最后保存文件即可 wb.save('test_w.xls')讀取 Excel
測試文件
細心的朋友可能注意到,這里我們可以獲取到單元格的類型,上面我們讀取類型時獲取的是數字1,那1表示什么類型,又都有什么類型呢?別急下面我們通過一個表格展示下:
| 0 | empty | 空 |
| 1 | string | 字符串 |
| 2 | number | 數字 |
| 3 | date | 日期 |
| 4 | boolean | 布爾值 |
| 5 | error | 錯誤 |
通過上面表格,我們可以知道剛獲取單元格類型返回的數字1對應的就是字符串類型。
處理中文
import xlrd #import chardet data = xlrd.open_workbook("emotion.xlsx") table = data.sheets()[0] nrows = table.nrows for i in range(nrows): #print chardet.detect(str(table.row_values(i)))print table.row_values(i)可是這樣在Linux Terminal 打印出來的是亂碼,把打印語句改成:
print str(table.row_values(i)).decode("unicode_escape").encode("utf8")為什么是這樣? 可以從Ubuntu 的系統設置中看到,控制器顯示的字符是UTF8的,所以最后需要encode成UTF8的,2.為什么要用decode? 因為要encode成UTF8,得是unicode格式的字符串才行,但是默認的字符串是str型的,所有需要把其他的字符編碼轉成UNICODE才行,然后,因為打印出來的亂碼是. u’\XXX’ 這種形式, 所以根據經驗應該是unicode_escape形式。
Ref
所遇到問題
暫未解決。
總結
以上是生活随笔為你收集整理的Python 处理带中文 Excel 文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python对比两个txt文件的不同
- 下一篇: 0.0 目录-深度学习第四课《卷积神经网