Python 处理带中文 Excel 文件
Python 處理帶中文 Excel 文件
- Python-Excel常規(guī)操作
- 安裝庫(kù)
- 寫入 Excel
- 讀取 Excel
- 測(cè)試文件
- 處理中文
- Ref
- 所遇到問(wèn)題
Python-Excel常規(guī)操作
注意,是 xls 文件,不是 xlsx 文件
安裝庫(kù)
$ pip3 install xlrd xlwt xlutils安裝比較簡(jiǎn)單,直接用 pip 工具安裝三個(gè)庫(kù)即可,安裝命令如下:
安裝完成提示 Successfully installed xlrd-1.2.0 xlutils-2.0.0 xlwt-1.3.0 即表示安裝成功。
寫入 Excel
接下來(lái)我們就從寫入 Excel 開(kāi)始,話不多說(shuō)直接看代碼如下:
# excel_w.py# 導(dǎo)入 xlwt 庫(kù) import xlwt# 創(chuàng)建 xls 文件對(duì)象 wb = xlwt.Workbook()# 新增兩個(gè)表單頁(yè) sh1 = wb.add_sheet('成績(jī)') sh2 = wb.add_sheet('匯總')# 然后按照位置來(lái)添加數(shù)據(jù),第一個(gè)參數(shù)是行,第二個(gè)參數(shù)是列 # 寫入第一個(gè)sheet sh1.write(0, 0, '姓名') sh1.write(0, 1, '成績(jī)') sh1.write(1, 0, '張三') sh1.write(1, 1, 88) sh1.write(2, 0, '李四') sh1.write(2, 1, 99.5)# 寫入第二個(gè)sheet sh2.write(0, 0, '總分') sh2.write(1, 0, 187.5)# 最后保存文件即可 wb.save('test_w.xls')讀取 Excel
測(cè)試文件
細(xì)心的朋友可能注意到,這里我們可以獲取到單元格的類型,上面我們讀取類型時(shí)獲取的是數(shù)字1,那1表示什么類型,又都有什么類型呢?別急下面我們通過(guò)一個(gè)表格展示下:
| 0 | empty | 空 |
| 1 | string | 字符串 |
| 2 | number | 數(shù)字 |
| 3 | date | 日期 |
| 4 | boolean | 布爾值 |
| 5 | error | 錯(cuò)誤 |
通過(guò)上面表格,我們可以知道剛獲取單元格類型返回的數(shù)字1對(duì)應(yīng)的就是字符串類型。
處理中文
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 打印出來(lái)的是亂碼,把打印語(yǔ)句改成:
print str(table.row_values(i)).decode("unicode_escape").encode("utf8")為什么是這樣? 可以從Ubuntu 的系統(tǒng)設(shè)置中看到,控制器顯示的字符是UTF8的,所以最后需要encode成UTF8的,2.為什么要用decode? 因?yàn)橐猠ncode成UTF8,得是unicode格式的字符串才行,但是默認(rèn)的字符串是str型的,所有需要把其他的字符編碼轉(zhuǎn)成UNICODE才行,然后,因?yàn)榇蛴〕鰜?lái)的亂碼是. u’\XXX’ 這種形式, 所以根據(jù)經(jīng)驗(yàn)應(yīng)該是unicode_escape形式。
Ref
所遇到問(wèn)題
暫未解決。
總結(jié)
以上是生活随笔為你收集整理的Python 处理带中文 Excel 文件的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Python对比两个txt文件的不同
- 下一篇: 0.0 目录-深度学习第四课《卷积神经网