最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python對(duì)execl 處理操作代碼

 更新時(shí)間:2020年06月22日 08:56:09   作者:石頭,等待  
這篇文章主要介紹了python對(duì)execl 處理操作,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

1. 讀取execl

1.前提需要安裝xlrd模塊,這個(gè)在網(wǎng)上可以找安裝教程,這里就不寫了

2. 打開表格

3. 讀取表格的sheet

4. 按行讀取數(shù)據(jù)或者列讀取數(shù)據(jù)或者單元格讀取數(shù)據(jù)

實(shí)際操作:

import xlrd
import xlwt
from xlutils.copy import copy
 
def info_row_col_execl(file_name):
  myworkbook = xlrd.open_workbook(file_name)
  mySheetlist = myworkbook.sheets()
  mysheet = mySheetlist[0]
  nrows = mysheet.nrows
  ncols = mysheet.ncols
  return nrows,ncols
 
def read_execl(filename):
  myworkbook = xlrd.open_workbook(filename)
  mySheetlist = myworkbook.sheets()
  mysheet = mySheetlist[0]
  return mysheet
 
def com_exel(file_name_dai,file_name_all):
  dai_rows, dai_cols = info_row_col_execl(file_name_dai)
  all_rows,all_cols = info_row_col_execl(file_name_all)
  print(dai_rows, dai_cols)
  print(all_rows,all_cols)
 
def read_execl_values(file_name):
  list_execl_values = []
  mysheet = read_execl(file_name)
  execl_rows, execl_cols = info_row_col_execl(file_name)
  myRowValues_name= mysheet.row_values(0)
  for nrow in range(1,execl_rows):
    myRowValues= mysheet.row_values(nrow)
    #print(myRowValues)
    myRow_name_value=dict(zip(myRowValues_name,myRowValues))
    list_execl_values.append(myRow_name_value)
  return list_execl_values
 
def com_execl_values(file_name_dai,file_name_all,key_list):
  dai_list_execl_values = read_execl_values(file_name_dai)
  all_list_execl_values = read_execl_values(file_name_all)
  row_num = 1
  for i in dai_list_execl_values:
    dai_list_execl_value = i
    dai_len_row = len(dai_list_execl_value)
    for k in all_list_execl_values:
      all_list_execl_value = k
      result = compare_two_dict(dai_list_execl_value,all_list_execl_value,key_list)
      if result == "Pass":
        #print(dai_list_execl_value,all_list_execl_value,result)
        print(dai_list_execl_value['ID'],dai_list_execl_value['名字'],)
        print(all_list_execl_value['班級(jí)'],all_list_execl_value['教師'])
        write_execl(file_name_dai,all_list_execl_value['班級(jí)'],all_list_execl_value['教師'],row_num,dai_len_row)
        break;
    row_num = row_num + 1   
   
def write_execl(file_name_dai,all_list_execl_value_1,all_list_execl_value_2,row_num,dai_len_row):
  open_execl = xlrd.open_workbook(file_name_dai)
  open_execl_copy = copy(open_execl)
  open_execl_copy_sheet = open_execl_copy.get_sheet(0)
  open_execl_copy_sheet.write(row_num,dai_len_row-3,all_list_execl_value_1)
  open_execl_copy_sheet.write(row_num,dai_len_row-2,all_list_execl_value_2)
  open_execl_copy.save(file_name_dai)
   
 
def compare_two_dict(dai_dict,all_dict,key_list):
  flag = True
  dai_dict_key = dai_dict.keys()
  all_dict_key = all_dict.keys()
  if len(key_list) != 0:
    for key in key_list:
      if key in dai_dict_key and key in all_dict_key:
        if dai_dict[key] == all_dict[key]:
          #print(dai_dict[key],all_dict[key])
          flag = flag & True
        else:
          flag = flag & False
      else:
        raise Exception('key_list contains error key')
  else:
    raise Exception('key_list is null')
 
  if flag:
    result = "Pass"
  else:
    result = "Failed"
  #print(result)
  return result
 
if __name__ == '__main__':
  file_name_dai = 'name_1.xlsx'
  file_name_all = 'name.xlsx'
  key_list = ['ID', '名字']
  com_execl_values(file_name_dai,file_name_all,key_list)

總結(jié)

到此這篇關(guān)于python對(duì)execl 處理操作代碼的文章就介紹到這了,更多相關(guān)python對(duì)execl 處理內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 對(duì)pandas的行列名更改與數(shù)據(jù)選擇詳解

    對(duì)pandas的行列名更改與數(shù)據(jù)選擇詳解

    今天小編就為大家分享一篇對(duì)pandas的行列名更改與數(shù)據(jù)選擇詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧
    2018-11-11
  • 如何解決jupyter notebook無(wú)法導(dǎo)入自己安裝的包

    如何解決jupyter notebook無(wú)法導(dǎo)入自己安裝的包

    這篇文章主要介紹了如何解決jupyter notebook無(wú)法導(dǎo)入自己安裝的包問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • 利用Python實(shí)現(xiàn)數(shù)值積分的方法

    利用Python實(shí)現(xiàn)數(shù)值積分的方法

    這篇文章主要介紹了利用Python實(shí)現(xiàn)數(shù)值積分。本文主要用于對(duì)比使用Python來(lái)實(shí)現(xiàn)數(shù)學(xué)中積分的幾種計(jì)算方式,并和真值進(jìn)行對(duì)比,加深大家對(duì)積分運(yùn)算實(shí)現(xiàn)方式的理解
    2022-02-02
  • pygame庫(kù)pgu使用示例代碼

    pygame庫(kù)pgu使用示例代碼

    pgu全稱是Phil’s pyGame Utilities,是pygame的一組模塊與腳本,其中還有g(shù)ui集成了一些小模塊,現(xiàn)在用pygame制作小游戲的人越來(lái)越多,但是pygame它是沒有彈窗機(jī)制的,今天通過本文給大家介紹pygame庫(kù)pgu使用示例代碼,需要的朋友參考下吧
    2021-08-08
  • Python?在PDF中繪制線條、矩形、橢圓形的方法

    Python?在PDF中繪制線條、矩形、橢圓形的方法

    這篇文章主要介紹了Python在PDF中繪制線條、矩形、橢圓形,本文將通過以下幾個(gè)示例介紹如何使用Python在PDF中繪制不同的圖形,需要的朋友可以參考下
    2024-11-11
  • Python通過pyperclip庫(kù)操作剪貼板

    Python通過pyperclip庫(kù)操作剪貼板

    pyperclip是一個(gè)python庫(kù)用于操作剪貼板,可以非常方便地將文本復(fù)制到剪貼板或從剪貼板獲取文本,下面就跟隨小編一起了解一下pyperclip的具體使用吧
    2024-11-11
  • Django項(xiàng)目連接MongoDB的三種方法

    Django項(xiàng)目連接MongoDB的三種方法

    本文主要介紹了Django項(xiàng)目連接MongoDB的三種方法,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • Python正則表達(dá)式非貪婪、多行匹配功能示例

    Python正則表達(dá)式非貪婪、多行匹配功能示例

    這篇文章主要介紹了Python正則表達(dá)式非貪婪、多行匹配功能,結(jié)合實(shí)例形式分析了Python正則表達(dá)式中非貪婪及多行匹配功能的實(shí)現(xiàn)方法與相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2017-08-08
  • 一文教你Python引入其他文件夾下的.py文件

    一文教你Python引入其他文件夾下的.py文件

    這篇文章主要為大家詳細(xì)介紹了如何在Python中引入其他文件夾里的.py文件,并探討幾種常見的實(shí)現(xiàn)方式,有需要的小伙伴可以根據(jù)需求進(jìn)行選擇
    2025-03-03
  • Django 遷移、操作數(shù)據(jù)庫(kù)的方法

    Django 遷移、操作數(shù)據(jù)庫(kù)的方法

    這篇文章主要介紹了Django 遷移、操作數(shù)據(jù)庫(kù)的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-08-08

最新評(píng)論

新郑市| 武安市| 自治县| 新田县| 扶风县| 西藏| 雷山县| 绍兴县| 怀柔区| 屏东县| 龙州县| 泽普县| 日土县| 内江市| 龙江县| 丁青县| 甘南县| 巍山| 阿尔山市| 河间市| 十堰市| 石泉县| 锡林郭勒盟| 唐山市| 诏安县| 潜江市| 曲周县| 葫芦岛市| 湘阴县| 新化县| 梅州市| 吐鲁番市| 宣化县| 方正县| 女性| 安陆市| 邛崃市| 苍梧县| 剑河县| 榆树市| 河南省|