日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python中读写excel_python读写Excel

發布時間:2023/12/10 python 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python中读写excel_python读写Excel 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Python讀寫excel

對于python 處理excel 表格,這個日常工作的需求還是不少,于是查查資料,自己寫寫,總結一下,記錄一下,下次遇到直接拿過來用,方便自己,方便大家。

好在python有讀寫excel package很方便。

xlrd:用于讀Excel文件

xlwt:寫Excel包,文件后綴名為.xls,最多只能存65536行數據(2的16次方)

xlsxwriter:也是寫Excel包,文件后綴名.xlsx,最大支持1048576(2的20次方)行數據,16384(2的14次方)列數據

openpyxl:既能讀也能寫,非常厲害,還能插入刪除一行一列,后綴名是.xlsx

一,xlrd,xlwt 使用

## 1,導入模塊

import xlrd

## 2, 打開Excel文件讀取數據

data = xlrd.open_workbook('excel.xls')

##3,獲取一個工作表

table = data.sheets()[0] #通過索引順序獲取

table = data.sheet_by_index(0) #通過索引順序獲取

table = data.sheet_by_name(u'Sheet1')#通過名稱獲取

## 4,獲取整行和整列的值(返回數組)

table.row_values(i)

table.col_values(i)

## 5,獲取行數和列數

table.nrows

table.ncols

## 6,獲取單元格

table.cell(0,0).value

table.cell(2,3).value

就我自己使用的時候覺得還是獲取cell最有用,這就相當于是給了你一個二維數組,余下你就可以想怎么干就怎么干了。得益于這個十分好用的庫代碼很是簡潔。但是還是有若干坑的存在導致話了一定時間探索。現在列出來:

1、首先就是我的統計是根據姓名統計各個表中的信息的,但是調試發現不同的表中各個名字貌似不能夠匹配,開始懷疑過編碼問題,不過后來發現是因為空格。因為在excel中輸入的時候很可能會順手在一些名字后面加上幾個空格或是tab鍵,這樣看起來沒什么差別,但是程序處理的時候這就是兩個完全不同的串了。我的解決方法是給每個獲取的字符串都加上strip()處理一下。效果良好

2、還是字符串的匹配,在判斷某個單元格中的字符串(中文)是否等于我所給出的的時候發現無法匹配,并且各種unicode也不太奏效,百度過一些解決方案,但是都比較復雜或是沒用。最后我采用了一個比較變通的方式:直接從excel中獲取我想要的值再進行比較,效果是不錯就是通用行不太好,不過問題還沒解決。

#導入xlwt模塊

import xlwt

# 創建一個Workbook對象,這就相當于創建了一個Excel文件

book = xlwt.Workbook(encoding='utf-8', style_compression=0)

'''

Workbook類初始化時有encoding和style_compression參數

encoding:設置字符編碼,一般要這樣設置:w = Workbook(encoding='utf-8'),就可以在excel中輸出中文了。

默認是ascii。當然要記得在文件頭部添加:

#!/usr/bin/env python

# -*- coding: utf-8 -*-

style_compression:表示是否壓縮,不常用。

'''

#創建一個sheet對象,一個sheet對象對應Excel文件中的一張表格。

# 在電腦桌面右鍵新建一個Excel文件,其中就包含sheet1,sheet2,sheet3三張表

sheet = book.add_sheet('test', cell_overwrite_ok=True)

# 其中的test是這張表的名字,cell_overwrite_ok,表示是否可以覆蓋單元格,其實是Worksheet實例化的一個參數,默認值是False

# 向表test中添加數據

sheet.write(0, 0, 'EnglishName') # 其中的'0-行, 0-列'指定表中的單元,'EnglishName'是向該單元寫入的內容

sheet.write(1, 0, 'Marcovaldo')

txt1 = '中文名字'

sheet.write(0, 1, txt1.decode('utf-8')) # 此處需要將中文字符串解碼成unicode碼,否則會報錯

txt2 = '馬可瓦多'

sheet.write(1, 1, txt2.decode('utf-8'))

# 最后,將以上操作保存到指定的Excel文件中

book.save(r'e:\test1.xls') # 在字符串前加r,聲明為raw字符串,這樣就不會處理其中的轉義了。否則,可能會報錯

建議還是用ascii編碼,不然可能會有一些詭異的現象。

二,xlsxwriter使用

#coding:utf-8

import xlsxwriter

workbook=xlsxwriter.Workbook('demo1.xlsx')#創建一個excel文件

worksheet=workbook.add_worksheet(u'sheet1')#在文件中創建一個名為TEST的sheet,不加名字默認為sheet1

worksheet.set_column('A:A',20)#設置第一列寬度為20像素

bold=workbook.add_format({'bold':True})#設置一個加粗的格式對象

worksheet.write('A1','HELLO')#在A1單元格寫上HELLO

worksheet.write('A2','WORLD',bold)#在A2上寫上WORLD,并且設置為加粗

worksheet.write('B2',U'中文測試',bold)#在B2上寫上中文加粗

worksheet.write(2,0,32)#使用行列的方式寫上數字32,35,5

worksheet.write(3,0,35.5)#使用行列的時候第一行起始為0,所以2,0代表著第三行的第一列,等價于A4

worksheet.write(4,0,'=SUM(A3:A4)')#寫上excel公式

workbook.close()

三,用openpyxl向Excel插入一行或一列

功能非常強大,文檔主頁點這里

插入列用insert_cols

插入行用insert_rows

讀并加一列示例:

import openpyxl

wb = openpyxl.load_workbook('0.xlsx')

ws = wb.worksheets[0]

# 在第3列之前插入數據,這里序號是從1開始的

ws.insert_cols(3)

# 插入數據

for index, row in enumerate(ws.rows):#按行讀取

if index == 0:

row[2].value = '新字段'

else:

row[2].value = index

wb.save('0_new.xlsx')

寫示例:

import openpyxl

wb = openpyxl.Workbook()#創建一個表

sheet = wb.active#找到活動sheet頁,

sheet.title = 'New Sheet'

sheet['C3'] = 'hello world'#這里讀取是一樣的,按cell讀

for i in range(10):

sheet["A%d" % (i+1)].value = i + 1

sheet["E1"].value = "=SUM(A:A)"#還可以寫公式

wb.save('新的excel.xlsx')

總結

以上是生活随笔為你收集整理的python中读写excel_python读写Excel的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产日韩视频在线观看 | 免费一区二区三区 | 一集毛片| 一级片黄色的 | 黄色三级av | 爱情岛亚洲首页论坛 | 操小妹影院 | 欧美日本在线观看 | 欧美日韩在线国产 | 大波大乳videos巨大 | 91精品系列 | 成人免费毛片网 | 无码h黄肉3d动漫在线观看 | 在线观看国产精品视频 | 精品不卡一区二区 | av在线中文 | 永久免费无码av网站在线观看 | 久久午夜国产精品 | 蜜臀av性久久久久蜜臀aⅴ四虎 | 91看片视频 | wwwxxx黄色片| 黄网在线观看视频 | 粉嫩av一区二区三区 | 亚洲宗人网| 99ri精品| 国产精品视频在线免费观看 | 天天干中文字幕 | 久久亚洲日本 | 三级无遮挡| 欧美放荡性医生videos | 国产一级片免费观看 | 色偷偷五月天 | 日产精品久久久久 | 秘密基地动漫在线观看免费 | 精品国产一区二区三区四区阿崩 | 夜色资源网 | 黄网站免费在线观看 | 天天看片天天干 | 51 吃瓜网 | avtt一区| 国产一区二区激情视频 | 国产精品wwww | 97色伦97色伦国产欧美空 | 老司机午夜免费视频 | 性生生活大片又黄又 | 伊人av在线 | 性色tv| 国产精品13p | 成人高清在线观看 | 中文字幕无人区二 | 操极品 | 国产一级片久久 | 欧美成网| 国产精品爽爽爽 | 国产又爽又黄游戏 | a三级黄色片 | 伊人88 | 精品98| 精品日韩中文字幕 | 国产农村妇女精品一区二区 | 日日麻批免费视频播放 | 亚洲调教欧美在线 | 国产农村老头老太视频 | 爱爱色图| 日韩小视频 | 欧美少妇xx | 日本久久伊人 | 国产精品视频久久久久 | 国产精品男同 | 成人网站免费观看入口 | 日本黄在线观看 | 国产精品性| 黄色毛毛片 | 日韩欧美国产高清 | 国产二级片 | 日韩福利社 | 97超碰人人澡人人爱学生 | 成人在线视屏 | 国产素人在线 | 午夜剧场免费看 | 色久月 | 欧美国产中文字幕 | 播放一级黄色片 | 古装三级吃奶做爰 | 色综合色综合网色综合 | 艳母免费在线观看 | 亚洲 自拍 另类 欧美 丝袜 | 欧美日韩在线精品 | 首尔之春在线看 | 爱啪啪av| 亚洲另类色综合网站 | 波多野结衣av在线免费观看 | 亚洲精品91在线 | 一级片黄色的 | 国产精品成人Av | 日韩图色 | 女生扒开尿口让男生桶 | 久章草在线观看 | av午夜天堂|