python3對excel讀寫openpyxl

讀取:
'''
sheet1裏面的值按照行取出來,每行組成一個列表 [[1,2,6],[3,4,5],[7,8,9]]
'''
import openpyxl from openpyxl import load_workbook def excel_rows_value(file_name): wb = openpyxl.load_workbook(file_name) #打開excel ws = wb.active #打開當前活躍的sheet rows = [] for row in ws.rows: row1 = [] for cell in row: row1.append(cell.value) rows.append(row1) return rows print(excel_rows_value('test_case.xlsx'))

 

''' 文件中的值,以行爲單位取出,以鍵值對方式存儲 [{"name":"xgy","age":31,"sex":"男"},{"name":"zf","age":28,"sex":"女"}]

 

'''
#方法一:
import openpyxl from openpyxl import load_workbook def excel_row_value_dice(file_name): wb = openpyxl.load_workbook(file_name) ws = wb.active row_key = [] row_value = [] #獲取表頭內容
    for row in ws.iter_rows('A1:C1'): for cell in row: row_key.append(cell.value) #print(row_key)
    num = ws.max_column #print(num)
    #獲取值
    for row in ws.iter_rows('A2:C'+str(num)): row_value_list = [] for cell in row: row_value_list.append(cell.value) row_value.append(row_value_list) #print(row_value)
 result = [] for i in range(len(row_value)): row_dict = {} for j in range(len(row_key)): row_dict[row_key[j]] = row_value[i][j] result.append(row_dict) #print(result)
    return result print(excel_row_value_dice('test_case.xlsx')) #方法二:
import openpyxl from openpyxl import load_workbook def excel_row_value_dice(file_name): wb = openpyxl.load_workbook(file_name) ws = wb.active #取出每行的值,以list方式存放
    rows_list = [] for row in ws.rows: row_list = [] for cell in row: row_list.append(cell.value) rows_list.append(row_list) #print(rows_list)

    #結果轉換成鍵值對的形式存放
    result = [] for i in range(len(rows_list)-1): row_dict = {} for j in range(len(rows_list[0])): row_dict[rows_list[0][j]] = rows_list[i+1][j] result.append(row_dict) #print(reslut)
    return result case = excel_row_value_dice('test_case.xlsx') for i in case: print(i)

 

excel的寫:app

建立sheetspa

from openpyxl import Workbook

wb = Workbook() #建立文件對象

#ws = wb.active #打開sheet

ws1 = wb.create_sheet(title='第一個sheet',index=0) #新建一個指定名的sheet,默認放到最後面,可指定具體位置
ws2 = wb.create_sheet()
ws3 = wb.create_sheet(title='最前面的sheet',index=0)
ws4 = wb.create_sheet('1')
ws5 = wb.create_sheet('2')
ws6 = wb.create_sheet('3')
ws7 = wb.create_sheet(title='11111',index=1)
#ws8.title = u'暑期專題'
ws1.sheet_properties.tabColor = "1072BA" #設定sheet的標籤的背景顏色

#print(wb['最前面的sheet'])
#print(wb.sheetnames)

#獲取所有sheet 的名字,遍歷sheet名字
# for i in wb.sheetnames:
# print(i)

#遍歷獲取sheet對象,按照sheet順序獲取
# for sheet in wb:
# print (sheet)
# print(sheet.title)
#刪除某個sheet
del wb['3']

wb.save('smple.xlsx')

 

寫入內容:excel

from openpyxl  import Workbook import time import datetime import locale wb = Workbook() ws = wb.active #寫入單個單元格,能夠寫入數字,中午,字符串
ws['A1'] = 1 ws['B1'] = '暑期專題' +'shuqi'

#寫入多個單元格,已經存在的文件覆蓋,第幾回寫入,就寫在第幾行
ws['B1'] = 7 ws.append([4,5,6]) ws.append([1,2,3]) ws['A2'] = time.time() #插入一個當前時間
ws['A3'] = datetime.datetime.now() #寫入一個自定義的時間格式
locale.setlocale(locale.LC_CTYPE, 'chinese') ws['A4'] =time.strftime("%Y年%m月%d日 %H時%M分%S秒",time.localtime()) wb.save('smple1.xlsx')

 

#四、 操做單元格

from openpyxl import Workbook wb = Workbook() ws = wb.create_sheet('Mysheet')  #建立一個sheet
 ws['A1'] = 123.11 ws['B2'] = '暑期專題' d = ws.cell(row=4, column=2, value=10) print(ws['A1'].value) print(ws['B2'].value) print(d.value) print(ws.cell(row=4, column=2, value=10).value)  #行號和列號從1開始
 wb.save('smple1.xlsx')
相關文章
相關標籤/搜索