免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
python之處理excel表格

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

安裝xlrd

pip install xlrd

excel結(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è)表# 獲取所有所有表格名稱(chēng)print(work_book.sheet_names())# 選擇第2個(gè) 索引從0開(kāi)始sheet = work_book.sheet_by_index(1)# 表格名稱(chēng)print(sheet.name)# 行數(shù)print(sheet.nrows)# 列數(shù)print(sheet.ncols)#批量讀取行數(shù)據(jù)# 取出第6行的全部?jī)?nèi)容包含數(shù)據(jù)類(lèi)型print(sheet.row(6))# 取出第6行的內(nèi)容包含數(shù)據(jù)類(lèi)型 從第3列開(kāi)始獲取print(sheet.row_slice(6,start_colx=3))# 取出第6行的內(nèi)容包含數(shù)據(jù)類(lèi)型 從第3列開(kāi)始獲取print(sheet.row_slice(6,start_colx=4,end_colx=5))# 獲取該行所有數(shù)據(jù)類(lèi)型 一數(shù)字表示# print(sheet.row_types(6))# print(sheet.row_values(6))# 單元格的處理print(sheet.cell(0,0).value) # 取值print(sheet.cell(0,0).ctype) # 取類(lèi)型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í)間類(lèi)型轉(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 xlrdsheet = xlrd.open_workbook('報(bào)價(jià)單.xlsx').sheet_by_index(1)def get_text(row,col):    # 判斷該坐標(biāo)是否是被合并的單元格    合并單元格的數(shù)據(jù)都在合并區(qū)域的第一個(gè)位置     for ces in sheet.merged_cells:        if (row >= ces[0] and row < ces[1]) and (col >= ces[2] and col < ces[3]):            return sheet.cell(ces[0],ces[2]).value # 取出合并區(qū)域的第一個(gè)數(shù)據(jù)    return sheet.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 in range(sheet.ncols):        k = keys[col] #確定key        res = get_text(row,col)        dic[k] = res # 確定值 并存儲(chǔ)    data.append(dic)print(data)# 序列化為jsonimport jsonjson.dump(data,open('test.json','wt'),ensure_ascii=False)

xlwt模塊

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

? 用代碼來(lái)編寫(xiě)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' # 字體名稱(chēng)font.bold = True # 加粗font.italic = True # 斜體font.underline = True # 下劃線#創(chuàng)建一個(gè)樣式對(duì)象style = xlwt.XFStyle()style.font = font# 寫(xiě)入標(biāo)題for k in keys: sheet.write(0,keys.index(k),k,style)
# 寫(xiě)入數(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')

#important: xlwt寫(xiě)入excel,單元格對(duì)寫(xiě)入的字符有長(zhǎng)度限制 string long than 32767
解決方案使用openpyxl模塊替換(默認(rèn)支持.xlsx格式)

面試題:

# 讀取文件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 in range(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()

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶(hù)發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
python中使用xlrd、xlwt操作excel表格詳解
Python讀寫(xiě)Excel表格,就是這么簡(jiǎn)單粗暴又好用
Python操作Excel表格:讀取和寫(xiě)入
Python|讀、寫(xiě)Excel文件(三種模塊三種方式)
python 3 操作 excel
【python】解析Excel中使用xlrd庫(kù)、xlwt庫(kù)操作,讀取excel進(jìn)階完整腳本實(shí)例(四)
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服