1. 程式人生 > 程式設計 >python3:excel操作之讀取資料並返回字典 + 寫入的案例

python3:excel操作之讀取資料並返回字典 + 寫入的案例

excel寫入資料,使用openpyxl庫

class WriteExcel:
 def __init__(self,path):
  self.path = path
 
 def write_excel(self,sheet_name,content):
  """
  在excel指定sheet中的寫入指定內容,以追加方式
  :return:
  """
  wb = openpyxl.load_workbook(self.path)
  ws = wb[sheet_name]
  # 獲取最大行
  row_num = ws.max_row
  try:
   ws.cell(row=row_num+1,column=1).value = content
  except Exception as msg:
   print('寫入excel失敗:',msg)
  finally:
   wb.save(self.path) 
 
if __name__ == '__main__':
 WE = WriteExcel('../config/data.xlsx')
 WE.write_excel(sheet_name='user',content='瑟瑟發抖')

python3:excel操作之讀取資料並返回字典 + 寫入的案例

excel讀取資料,使用xlrd庫

class ReadExcel:
 def __init__(self,path):
  self.path = path
 
 def read_excel(self,row):
  """
  遍歷excel所有sheet,並以字典返回
  :param row:
  :return:
  """
  with xlrd.open_workbook(self.path,'rb') as book:
   sheets = book.sheet_names() # 找到所有sheets
   data_dict = {}
   for sheet in sheets:
    table = book.sheet_by_name(sheet) # 找到要操作的sheet
 
    # 獲取sheet所有列數
    col_num = table.ncols
    # 讀取第一行的值,作為每個sheet返回字典的key
    keys = table.row_values(0)
 
    # 讀取除指定行,作為每個sheet返回字典的value
    values = table.row_values(row)
 
    # 遍歷所有列,並以字典接收,其中第一行作為字典的key,其他行作為字典的value
    sheet_dict = {}
    for col in range(col_num):
     sheet_dict[keys[col]] = values[col]
 
   # 遍歷所有sheet,並以字典接收返回,其中sheet名稱作為字典的key,每個sheet的資料作為字典的value
    data_dict[sheet] = sheet_dict
  return data_dict

python3:excel操作之讀取資料並返回字典 + 寫入的案例

讀取結果:

python3:excel操作之讀取資料並返回字典 + 寫入的案例

補充知識:Python+selenium+ddt資料驅動測試

我就廢話不多說了,大家還是直接看程式碼吧~

import ddt
 
testData = ['1','2','3']
print testData
 
@ddt.ddt
class Bolg(unittest.TestCase):
  
  def setUp(self):
    print('setUp')
 
  @ddt.data(*testData)
  def test_l(self,data):
    print(data)
 
  def tearDown(self):
    print('tearDown')
 
if __name__ == "__main__":
  unittest.main()
 
============
1
2
3

以上這篇python3:excel操作之讀取資料並返回字典 + 寫入的案例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。