Pythonは、特定のコンテンツ操作エクセルの交換を実現します

この記事では、オペレーティングエクセル(のxlsx)ファイルを達成するために、使用するPython言語を説明し、具体的な内容はopenyxlライブラリーを用いて達成する必要があります交換してください。

現在は三つの小さな機能を実装します。

代替的に全ワード(MODE1);(例:単語全体yocichen、代わりことyoci X-チェン

2.あるいは文字(MODE2)の部分と一致する;(例:Thisis yociブログ、あるいはThisisことyocichenブログ)

3.全単語(MODE3)充填;(例:yoci、代替的である愚か:yociの文字の後に文字を追加するため、)

出典:

1  インポートopenpyxl
 2  インポート3  インポートトレースバック
 4  
5 changeCells = 0
 6  
7  特別なコンテンツ交換
8  ""」
9  ファイル:ファイルパス:STR
 10  モード:operatorationのタイプ:int型
 11  のテキスト:文字列がreplaceedする必要が:intまたはSTR
 12  のreplaceText:置換テキスト:intまたはSTR
 13  ""」
14  DEF changeData(ファイル、モード、テキスト、のreplaceText):
 15      負荷ファイル(* XLSX)
16      、WB =openpyxl.load_workbook(ファイル)
 17      一枚のシートを扱う
18の      WS = wb.worksheets [0]
 19      グローバルchangeCells
 20      取得ファイルの行と列
21      行= ws.max_row
 22の      COLS = ws.max_column
 23      changeFlag = Falseの
 24      トライ25          のための範囲(1 、行は+ 1 ):
 26              用の COL における範囲(1、COLS + 1 ):
 27                  = ws.cellコンテンツ(行=行、列=COL)が.VALUE
 28の                 場合(コンテンツ!= なし):
 29                      #1 MODE1:fullmatch交換
30を                     場合(モード== 1 ):
 31                          場合(コンテンツ== :テキスト)
 32                              ws.cell(行=行、列= COL) .VALUE = のreplaceText
 33                              changeFlag = Trueを
 34                              changeCells + = 1
 35                      #のMODE2:部分的な交換
36                      ELIF(モード== 2 ):
 37                          であれば(タイプ(コンテンツ)== STR):
 38                             ws.cell(行=行、列= COL).VALUE = content.replace(
 39                                  テキスト、のreplaceText、1 40                              changeFlag = Trueを
 41                              changeCells + = 1
 42                      #のMODE3:partialmatch及び充填
43                      ELIF(モード== 3 ) :
 44                          であれば(タイプ(コンテンツ)== STR):
 45                              ws.cell(行=行、列= COL).VALUE = content.replace(
 46                                  テキスト、テキスト+のreplaceText、1 47                             changeFlagは= Trueを
 48                              changeCells + = 1
 49                      50                          リターン0
 51          status_1:成功変性
52          であれば(changeFlag):
 53              wb.save(ファイル)
 54              リターンchangeCells
 55          status_2:無変性
56          他の57              戻りchangeCells
 58      status_3:例外
59      を除き、Eなど例外:
 60          プリント(traceback.format_exc())
61  
62  
63  #は、ファイルの内容読み出さ
64  " "" 
65  :ファイルパス:STRファイル
 66  """ 
67  デフrdxl(ファイル):
 68      負荷ファイル(* XLSX。)
69      、WB = openpyxl.load_workbook(ファイル)
 70      一枚のシートを扱う
71の      WS = wb.worksheets [0]
 72      グローバルchangeCells
 73      得る行およびファイルの列
74      行= ws.max_row
 75      COLS = ws.max_column
 76      changeFlag =77個の      細胞= 0
 78      のための範囲(1行+ 1 ):
 79          用の COL における範囲(1、COLS + 1 ):
 80              含有量= ws.cell(行=行、列= COL)は.VALUE
 81              印刷(コンテンツ)
 82個の              細胞+ = 1枚の
 83      プリント' 細胞' 、セル)
 84  
85  
86  なら __name__ == " __main__ " 87の       RES = changeData('D:\\ 001.xlsx '1、7777、。 ' バグメーカー' 88       IF(RES =!なし)
 89           印刷' 修正 'RES、 ' " 90       他に:
91は、      #1      (印刷'操作に失敗しました:\ N-' + RES)
92       rdxlを(" D:\\ 001.xlsx "

おすすめ

転載: www.cnblogs.com/yocichen/p/11693243.html