python Excel讀取 合併單元格讀取

2022-08-27 08:51:09 字數 2507 閱讀 5752

python-excel讀取-合併單元格讀取(後續會補充python-excel寫入的部分)

1. python讀取excel單元格

**包含讀取excel中資料,以及出現橫向合併單元格,以及豎向合併單元格的內容。英文注釋標註了函式的功能,後又補充了部分中文注釋。

合併單元格的函式通用,可以直接複製拿走,傳入的引數為excel某sheet表中的資料。

兩個列表合併為乙個字典函式list_dic(list1,list2)也可以直接複製拿走,傳入的引數為兩個列表,list1準備作為key,list2準備作為value,key和value位置一一對應。

__author__ = '

sitong'#

!_*_coding:utf-8_*_

import

xlrd

defget_excel():

with xlrd.open_workbook(r

'd:\0325.xlsx

') as workbook :

name_sheets = workbook.sheet_names() #

獲取excel的sheet表列表,儲存是sheet表名

for index in name_sheets: #

for 迴圈讀取每乙個sheet表的內容

sheet_info = workbook.sheet_by_name(index) #

根據表名獲取表中的所有內容,sheet_info也是列表,列表中的值是每個單元格裡值

first_line = sheet_info.row_values(0) #

獲取首行,我這裡的首行是表頭,我打算用表頭作為字典的key,每一行資料對應表頭的value,每一行組成乙個字典

values_merge_cell = merge_cell(sheet_info) #

這裡是呼叫處理合併單元格的函式

for i in range(1, sheet_info.nrows): #

開始為組成字典準備資料

other_line =sheet_info.row_values(i)

for key in

values_merge_cell.keys():

if key[0] ==i:

other_line[key[1]] =values_merge_cell[key]

#print(other_line)

dic = list_dic(first_line,other_line) #

呼叫組合字典的函式,傳入key和value,字典生成

return

deflist_dic(list1,list2):

'''two lists merge a dict,a list as key,other list as value

:param list1:key

:param list2:value

:return:dict

'''dic = dict(map(lambda

x,y:[x,y], list1,list2))

return

dicdef

merge_cell(sheet_info):

'''#handle merge transverse cells and handle merge vertical cells, assign empty cells,

:param rlow:row, include row exclusive of row_range

:param rhigh:row_range

:param clow:col, include col exclusive of col_range

:param chigh:col_range

:param sheet_info:object of sheet

:return:dic contain all of empty cells value

'''merge ={}

merge_cells =sheet_info.merged_cells

for (rlow, rhigh, clow, chigh) in

merge_cells:

value_mg_cell =sheet_info.cell_value(rlow, clow)

if rhigh-rlow == 1:

#merge transverse cells

for n in range(chigh-clow-1):

merge[(rlow, clow+n+1)] =value_mg_cell

elif chigh-clow == 1:

#merge vertical cells

for n in range(rhigh-rlow-1):

merge[(rlow+n+1, clow)] =value_mg_cell

return

merge

if__name__ == '

__main__':

get_excel()

python excel合併指令碼

import pandas as pd importos 檔案路徑 file dir r c users administrator desktop 111 構建新的 名稱 new filename r c users administrator desktop 2.xlsx 找到檔案路徑下的所有 ...

python excel讀寫資料

python 讀取excel內容,包含 日期處理 coding utf 8 import xlrd 讀取excel workbook xlrd.open workbook r d demo.xlsx 開啟excel檔案 table workbook.sheet by name sheet2 將檔案內...

Python Excel 模組哪家強?

從網頁爬下來的大量資料需要清洗?成堆的科學實驗資料需要匯入 excel 進行分析?有成堆的 等待統計?作為人生苦短的 python 程式設計師,該如何優雅地操作 excel?得益於前人的辛勤勞作,python 處理 excel 已有很多現成的輪子,使用較多的有 xlwings 由於設計目的不同,每個...