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 由於設計目的不同,每個...