中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么用Python代碼操作excel表格

發布時間:2021-09-07 07:44:06 來源:億速云 閱讀:208 作者:chen 欄目:大數據

本篇內容主要講解“怎么用Python代碼操作excel表格”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“怎么用Python代碼操作excel表格”吧!

xlrd模塊

xlrd是python中一個第三方的用于讀取excle表格的模塊,很多企業在沒有使用計算機管理前大多使用表格來管理數據,所以導入表格還是非常常用的!

安裝xlrd

pip install xlrd

exlce結構分析

一個excle表格包含多個sheet

一個sheet中包含多行多列

每個單元格具備唯一的行號和列號

常用函數

import xlrd

# 讀取文件

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

# 選取一個表

# 獲取所有所有表格名稱

print(work_book.sheet_names())

# 選擇第2個 索引從0開始

sheet = work_book.sheet_by_index(1)

# 表格名稱

print(sheet.name)

# 行數

print(sheet.nrows)

# 列數

print(sheet.ncols)

#批量讀取行數據

# 取出第6行的全部內容包含數據類型

print(sheet.row(6))

# 取出第6行的內容包含數據類型從第3列開始獲取

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

# 取出第6行的內容包含數據類型從第3列開始獲取

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

# 獲取該行所有數據類型 一數字表示

# 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列所有數據

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

print(sheet.cell_type(0,0))

# 單元格位置轉換

print(xlrd.cellname(2,1))

print(xlrd.cellnameabs(0,2))

print(xlrd.colname(5))

# 時間類型轉換

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

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

案例:

讀取一個報價單 其第二個sheet包含合并單元格

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

import xlrd

sheet = xlrd.open_workbook("報價單.xlsx").sheet_by_index(1)

def get_text(row,col):

 # 判斷該坐標是否是被合并的單元格 合并單元格的數據都在合并區域的第一個位置

 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 # 取出合并區域的第一個數據

 returnsheet.cell(row,col).value #正常取出對應數據

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

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 # 確定值 并存儲

 data.append(dic)

print(data)

# 序列化為json

import json

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

xlwt模塊

是python中一個第三方的用于寫入excle數據到表格的模塊

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

import xlwt

# 創建工作簿

work = xlwt.Workbook()

# 創建一個表

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

#創建一個字體對象

font = xlwt.Font()

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

font.bold = True # 加粗

font.italic = True # 斜體

font.underline = True # 下劃線

#創建一個樣式對象

style = xlwt.XFStyle()

style.font = font

# 寫入標題

for k in keys:

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

# 寫入數據

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")

# 選取一個表

sheet = work_book.sheet_by_index(0)

# 遍歷表格數據

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)

# 打開數據庫連接

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

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

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

cursor = db.cursor()

# SQL 插入語句

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

try:

 # 執行sql語句

 cursor.executemany(sql, datas)

 # 提交到數據庫執行

 db.commit()

except :

 # 如果發生錯誤則回滾

 db.rollback()

# 關閉游標

cursor.close()

# 關閉數據庫連接

db.close()

到此,相信大家對“怎么用Python代碼操作excel表格”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

浦城县| 镇坪县| 斗六市| 和林格尔县| 长寿区| 芦山县| 龙泉市| 融水| 兰考县| 句容市| 西林县| 九台市| 全州县| 吉木乃县| 泸水县| 郴州市| 车险| 嘉善县| 紫金县| 镇雄县| 泾川县| 营口市| 内乡县| 崇左市| 东安县| 蒙城县| 伊川县| 怀远县| 辽宁省| 台中市| 六盘水市| 百色市| 永和县| 大埔区| 浦北县| 磐石市| 巩留县| 荥阳市| 长阳| 通化市| 湖口县|