成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

怎么用Python代碼操作excel表格

本篇內(nèi)容主要講解“怎么用Python代碼操作excel表格”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“怎么用Python代碼操作excel表格”吧!

xlrd模塊

xlrd是python中一個(gè)第三方的用于讀取excle表格的模塊,很多企業(yè)在沒(méi)有使用計(jì)算機(jī)管理前大多使用表格來(lái)管理數(shù)據(jù),所以導(dǎo)入表格還是非常常用的!

安裝xlrd

pip install xlrd

exlce結(jié)構(gòu)分析

一個(gè)excle表格包含多個(gè)sheet

一個(gè)sheet中包含多行多列

每個(gè)單元格具備唯一的行號(hào)和列號(hào)

常用函數(shù)

import xlrd

# 讀取文件

work_book = xlrd.open_workbook("/Users/jerry/Desktop/公司機(jī)密數(shù)據(jù).xlsx")

# 選取一個(gè)表

# 獲取所有所有表格名稱

print(work_book.sheet_names())

# 選擇第2個(gè) 索引從0開(kāi)始

sheet = work_book.sheet_by_index(1)

# 表格名稱

print(sheet.name)

# 行數(shù)

print(sheet.nrows)

# 列數(shù)

print(sheet.ncols)

#批量讀取行數(shù)據(jù)

# 取出第6行的全部?jī)?nèi)容包含數(shù)據(jù)類型

print(sheet.row(6))

# 取出第6行的內(nèi)容包含數(shù)據(jù)類型從第3列開(kāi)始獲取

print(sheet.row_slice(6,start_colx=3))

# 取出第6行的內(nèi)容包含數(shù)據(jù)類型從第3列開(kāi)始獲取

print(sheet.row_slice(6,start_colx=4,end_colx=5))

# 獲取該行所有數(shù)據(jù)類型 一數(shù)字表示

# print(sheet.row_types(6))

# print(sheet.row_values(6))

# 單元格的處理

print(sheet.cell(0,0).value) # 取值

print(sheet.cell(0,0).ctype) # 取類型

print(sheet.cell_value(2,0)) # 直接取值

print(sheet.row(0)[0]) # 先取行再取單元格

print(sheet.col(0)) # 第0列所有數(shù)據(jù)

print(sheet.col(0)) # 先取列再取單元格

print(sheet.cell_type(0,0))

# 單元格位置轉(zhuǎn)換

print(xlrd.cellname(2,1))

print(xlrd.cellnameabs(0,2))

print(xlrd.colname(5))

# 時(shí)間類型轉(zhuǎn)換

# print(sheet.cell(6,5).value)

# print(xlrd.xldate_as_datetime(sheet.cell(6,5).value,1))

案例:

讀取一個(gè)報(bào)價(jià)單 其第二個(gè)sheet包含合并單元格

文件地址: https://share.weiyun.com/5GaLY2m

import xlrd

sheet = xlrd.open_workbook("報(bào)價(jià)單.xlsx").sheet_by_index(1)

def get_text(row,col):

 # 判斷該坐標(biāo)是否是被合并的單元格 合并單元格的數(shù)據(jù)都在合并區(qū)域的第一個(gè)位置

 for ces insheet.merged_cells:

 if (row >=ces[0] and row < ces[1]) and (col >= ces[2] and col < ces[3]):

 returnsheet.cell(ces[0],ces[2]).value # 取出合并區(qū)域的第一個(gè)數(shù)據(jù)

 returnsheet.cell(row,col).value #正常取出對(duì)應(yīng)數(shù)據(jù)

keys = sheet.row_values(1) # 獲取所有的列標(biāo)題

data = []

for row in range(2,sheet.nrows):

 dic = {}

 for col inrange(sheet.ncols):

 k = keys[col] #確定key

 res =get_text(row,col)

 dic[k] = res # 確定值 并存儲(chǔ)

 data.append(dic)

print(data)

# 序列化為json

import json

json.dump(data,open("test.json","wt"),ensure_ascii=False)

xlwt模塊

是python中一個(gè)第三方的用于寫入excle數(shù)據(jù)到表格的模塊

用代碼來(lái)編寫exlce是非常低效的 所以該模塊了解即可。

import xlwt

# 創(chuàng)建工作簿

work = xlwt.Workbook()

# 創(chuàng)建一個(gè)表

sheet = work.add_sheet("員工信息數(shù)據(jù)")

#創(chuàng)建一個(gè)字體對(duì)象

font = xlwt.Font()

font.name = "Times New Roman" # 字體名稱

font.bold = True # 加粗

font.italic = True # 斜體

font.underline = True # 下劃線

#創(chuàng)建一個(gè)樣式對(duì)象

style = xlwt.XFStyle()

style.font = font

# 寫入標(biāo)題

for k in keys:

 sheet.write(0,keys.index(k),k,style)

# 寫入數(shù)據(jù)

for i in infos:

 for k in keys:

 sheet.write(1 +infos.index(i),keys.index(k),label = i[k])

# 保存至文件

work.save("test.xls")

面試題:

import xlrd

import pyMySQL

# 讀取文件

work_book = xlrd.open_workbook("/xxx/xxx.xlsx")

# 選取一個(gè)表

sheet = work_book.sheet_by_index(0)

# 遍歷表格數(shù)據(jù)

datas = []

for row in range(1,sheet.nrows):

 temp_list =[]

 for col inrange(sheet.ncols):

 value =sheet.cell_value(row,col)

 temp_list.append(value)

 datas.append(temp_list)

# 打開(kāi)數(shù)據(jù)庫(kù)連接

db = pymysql.connect(host='localhost', port=3306,

 user='username',passwd='password', db='database_name', charset='utf8')

# 使用cursor()方法獲取操作游標(biāo)

cursor = db.cursor()

# SQL 插入語(yǔ)句

sql = "INSERT INTO SHOP(shop_code, shop_name, month)VALUES (%s,%s,%s)"

try:

 # 執(zhí)行sql語(yǔ)句

 cursor.executemany(sql, datas)

 # 提交到數(shù)據(jù)庫(kù)執(zhí)行

 db.commit()

except :

 # 如果發(fā)生錯(cuò)誤則回滾

 db.rollback()

# 關(guān)閉游標(biāo)

cursor.close()

# 關(guān)閉數(shù)據(jù)庫(kù)連接

db.close()

到此,相信大家對(duì)“怎么用Python代碼操作excel表格”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

網(wǎng)頁(yè)名稱:怎么用Python代碼操作excel表格
標(biāo)題來(lái)源:http://jinyejixie.com/article24/jjijje.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、定制開(kāi)發(fā)軟件開(kāi)發(fā)、企業(yè)網(wǎng)站制作企業(yè)建站用戶體驗(yàn)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁(yè)設(shè)計(jì)
尼木县| 台北县| 定襄县| 武义县| 永寿县| 益阳市| 鸡西市| 宜兰县| 东乡县| 乃东县| 政和县| 宜丰县| 柳江县| 改则县| 德钦县| 桓仁| 临猗县| 宜黄县| 桐梓县| 秀山| 秀山| 通道| 巩义市| 永福县| 二连浩特市| 黔江区| 福州市| 萝北县| 芒康县| 兰考县| 涟水县| 易门县| 虞城县| 石河子市| 曲靖市| 民丰县| 伊川县| 斗六市| 石狮市| 海南省| 定安县|