Pythonを使用してレポートの自動化を実現する方法 より効率的に作業を完了できます

レポートを自動化できれば、時間を大幅に節約し、作業をより効率的に完了することができます。では、pythonを使用してレポートの自動化を実現するにはどうすればよいですか?この記事では、xlwt、xlrd、xlutilsの一般的な機能、xlwtがExcelを書き込むときの数式のアプリケーション、およびxlwtが特定のディレクトリに書き込んで全員がレポートを自動化できるようにする方法を紹介します。

 

1、python書き込みexcel

(1)xlwtをインストールする準備:ターミナルにpip install xlwtまたはeasy_install xlwtと入力して、xlwtパッケージをインポートします。

インポートxlwt#書き込み

(2)基本的なチュートリアルで新しいワークブックを作成してシートを追加する:新しいワークブックを作成してからシートを追加する

f = xlwt.Workbook()#ワークブックを作成
sheet1 = f.add_sheet(u'sheet1 '、cell_overwrite_ok = True)

複数のシートをExcelシートに追加して、コンテンツをシートに書き込むことができます。 

sheet.write関数は、i(パラメーター1)、j(パラメーター2)の3つのパラメーターを渡し、コンテンツ(パラメーター3)を保存できます。

sheet1.write(i、j、「行iと列jはこのコンテンツを格納する」、スタイル)

このステートメントによって実現される機能は、i番目の行とj番目の列の3番目のパラメーターの内容を格納することです。4番目のパラメーターはスタイル(フォントや背景など)であり、4番目のパラメーターは省略できます。 

セルを結合してコンテンツを書き込む:

sheet1.write_merge(x、x + m、y、y + n、 '内容'、スタイル)

このyステートメントは、[x:x + m]行[y:y + n]列の行列が1つのセルにマージされることを意味します。5番目のパラメーターの#コンテンツを保存します。同様に、スタイルパラメーターはパラメーターなしで渡すことができます。最後に、f.save( 'demo')を使用してfをExcelに保存します

(3)実際の戦闘では、まず新しいワークブックを作成し、それに2枚のシートを追加して、効果を確認できます。

#コーディング= utf-8 
インポート
xlwt f = xlwt.Workbook()#ワークブックを作成

 sheet1 = f.add_sheet(u'table one '、cell_overwrite_ok = True)

 

sheet2 = f.add_sheet(u'table two'、cell_overwrite_ok = True )

 

保存( 'xlwt_tutorial')

スタイルパラメータを使用せずに、コンテンツをシートに書き込み始めました。最初に書き込み関数のみを使用します

import 
xlwt f = xlwt.Workbook()#ワークブックを作成
sheet1 = f.add_sheet(u'Table one '、cell_overwrite_ok = True)
sheet2 = f.add_sheet(u'Table two'、cell_overwrite_ok = True)
row = 0 
temp = [ 
u'name '、u'age'、u'school '、u'professional '] 
pos、vの列挙(temp):sheet1.write(row、pos、v)
row + = 1 
sheet1.write(row 、0、u ' 
张三')sheet1.write(row、1,18)
sheet1.write(row、2、u'Tsinghua University ')
row + = 1 
sheet1.write(row、0、u'李四 ' )
sheet1.write(row、1,20)
sheet1.write(row、2、
u'Peking University ')f.save(' xlwt_tutorial ')

このようにして、3行4列のテーブルを作成しました。

(write関数の行と列の値は0から始まります)次に、write_merge関数を使用してセルをマージし、f.saveの前にコード行を書き込みます。

sheet1.write_merge(1,2,3,3、u'Chinese Language and Literature ')

行2〜3、列4を組み合わせる2. pythonxd read excel 

 (1)xlrdをインストールする準備:ターミナルにpip install xlrdまたはeasy_install xlrdと入力して、xlrdパッケージを導入します。

インポートxlrd#読み取り

(2)基本的なチュートリアルと実際の操作Excelを開き、すべてのシートの名前を出力する

#コーディング= utf-8 
インポートxlrd 
インポートuniout 
f = xlrd.open_workbook(r'xlwt_tutorial ')
print f.sheet_names()
出力:[u'表一 '、u'表二 '] 

テーブル内のすべてのシートを取得します

for i for range(len(f.sheet_names())):sheet1 
= workbook.sheet_by_index (i)

シートのコンテンツを取得する

#コーディング= utf-8 
f = xlrd.open_workbook(r'xlwt_tutorial ')sheet1 
= f.sheet_by_index(0)#最初のシートを
開くsheet2 = f.sheet_by_name(u'表二 ')#小さなブドウの名前を開くsheet 
#出力

シート名、行数、列数print sheet1.name、sheet1.nrows、sheet1.ncols 
print sheet2.name、sheet2.nrows、sheet2.ncols 
出力は次のとおりです。Table 1 3 4 Table 2 0 0 
print sheet1。 row_values(1)2行目の内容を取得しますprint sheet1.col_values(2)#3列目の内容を取得します
出力は[u '张三'、18.0、u'Tsinghua University '、u'Chinese Language and Literature'](u 'School'、
u'Tsinghua University '、u'Peking University'] 

#セルコンテンツの取得print sheet1.cell(1,0).value 

#セルコンテンツデータタイプの取得
print sheet1.cell(1,1) ctype 

#ctype:0空、1文字列、2数値、3日付、4ブール値、5エラー
出力は:Zhang San 2

3. xlutilsの共通機能

 (1)xlutilsをインストールする準備:ターミナルでpip install xlutilsまたはeasy_install xlutilsと入力して、xlutilsパッケージを導入します。

xlutilsをインポートする

(2)xlutilsのコピー機能で問題が発生し、保存されているExcelを編集したい***。ただし、xlrdは読み取り専用モードであり、書き込むことはできません。また、xlwtは書き込み専用モードであり、Excelファイルに読み込んで編集することはできません。xlrdを使用してドキュメントを開き、xlutilsのコピー機能を使用してドキュメントをコピー*して編集できます。

xlutils.copy 
からxlrdをインポートしますimport copy 
f = xlrd.open_workbook(r'xlwt_tutorial ')
wb = copy(f)
#f をwbにコピーしますsheet1 = wb.get_sheet(0)#シートを開く
print sheet1.name 
sheet1.write( 3,0、 'change')
wb.save( 'xlwt_tutorial')
の出力は次のとおりです。表1の出力テーブルが変更されました。

(4)xlwtがExcelに書き込むときの式の適用、xlwtでテーブルを書き込むように書き込む

コーディング= utf-8 
インポート
xlwt f = xlwt.Workbook()#ワークブック
シートを作成1 = f.add_sheet(u'score statistics '、cell_overwrite_ok = True)
mdict = {"monkey":{"writing":80、 "reading 「:60」、スピーキング「:70」、リスニング「:60}、
「ぶどう」:{「書き込み」:100、読み「:80」、スピーキング「:70」、聞く「:60}} 
sheet1.write (0,0、
u'score statistics ')sheet1.write(1,0、u'calligraphy score')
sheet1.write(2,0、
u'reading score ')sheet1.write(3,0、u' speechスコア ')
sheet1.write(4,0、u'listening score')
temp = ['writing'、 'reading'、 'speaking'、 'listening'] 
for pos、name in enumerate(mdict):
sheet1.write( 0、pos + 1、name)
for p、v in enumerate(temp): 
sheet1.write(p + 1、pos + 1、mdict [name] [v])
f.save( 'score statistics')

ブドウの合計スコアと猿の合計スコアをカウントします。f.saveの前にコードを追加します。

sheet1.write(5,0、u '总分统计')
for i for range(len(mdict)):
forstr = chr(65 + i + 1)+ '2 +' + chr(65 + i + 1) + '3 +' + chr(65 + i + 1)+ '4 +' + chr(65 + i + 1)+ '5' 
print forstr   
 sheet1.write(5、i + 1、xlwt.Formula(forstr) )
 出出:
B2 + B3 + B4 + B5 
C2 + C3 + C4 + C5

5、特定のディレクトリへのxlwt書き込み

 コードの階層化により、コードの全体的なフレームワークは美しいです。ファイルを特定のディレクトリに書き込む必要があります。ただし、xlwtの特定のディレクトリに直接書き込む機能はありません。

したがって、shutil.move関数を使用して、ファイルを特定のディレクトリにMOVします。

##コーディング= utf-8 
インポート
xlwt 
インポートos インポートシャットダウン
パス= '../sheet/' 
isExists = os.path.exists(path)
#isExists ない場合はディレクトリが存在するかどうかを確認:#ディレクトリが存在しない場合は、新しいディレクトリ
osを作成.makedirs(パス)
f = xlwt.Workbook()#ワークブックを作成
シート1 = f.add_sheet(u'score statistics '、cell_overwrite_ok = True)
mdict = {"monkey":{"writing":80、 "reading": 60、 "speaking":70、 "listening":60}、
"grape":{"writing":100、 "reading":80、 "speaking":70、 "listening":60}} 
sheet1.write(0 、0、
u'score statistics ')sheet1.write(1,0、u'calligraphy score')
sheet1.write(2,0、
u'reading score ')sheet1.write(3,0、u'speech score' )
sheet1.write(4,0、u '挺力得分 ') 
temp = [' writing '、' reading '、' speaking '、' listening ']
列挙力(mdict)のpos、nameの
enumerate(temp)のp、vに対する
sheet1.write(0、pos + 1、name)
sheet1.write(p + 1、pos + 1、mdict [name] [v])
sheet1.write(5,0、 u '总分统计')
for i in range(len(mdict)):
forstr = chr(65 + i + 1)+ '2 +' + chr(65 + i + 1)+ '3 +' + chr( 65 + i + 1)+ '4 +' + chr(65 + i + 1)+ '5' 
print forstr 
sheet1.write(5、i + 1、xlwt.Formula(forstr))
f.save( '得分统计')
shutil.move(u'得分统计 '、パス)

上記は、Pythonを使用してレポートの自動化を実現する特定の手順です。習得しましたか?Pythonをまだ使用していない場合は、Pythonを使用してレポートを自動化する方法を理解できません。

Pythonを学習したい場合、またはPythonを学習している場合は、Pythonのチュートリアルがたくさんありますが、最新ですか?おそらく、2年前に人々が学んだかもしれないことを学んだかもしれません。ここで、2020年の最新のPythonチュートリアルの波を共有します。入手方法は、プライベートレターの「お知らせ」を編集して無料で入手できます!

 

おすすめ

転載: www.cnblogs.com/python0921/p/12760814.html