前回はPythonを使ってExcelのデータを読み書きする方法を紹介しましたが、今日はPythonを使ってExcelのデータを変更する方法を紹介します。 xlutils モジュールが必要です。ダウンロード アドレスは https://pypi.python.org/pypi/xlutils です。ダウンロード後、python setup.py installコマンドを実行してインストールします。
具体的な使用方法のコードは次のとおりです:
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
# 0 ベース (Excel の行番号から 1 を減算)
START_ROW = 404
ismal_index = 2
#url は列にあります
url_index = 12
#domain は列にあります
domain_index = 11
#malinfo は列にあります
malinfo_index = 9
file_path = "C:\Users\***\Desktop\20130514.xls"
#formatting_info=True 以前のデータの形式を保存します
rb = open_workbook(file_path,formatting_info=True)
r_sheet = rb.sheet_by_index(0) # ファイルをイントロスペクトするための読み取り専用コピー
wb = copy(rb) # 書き込み可能なコピー (値を読み取ることはできず、書き込むだけです)
w_sheet = wb .get_sheet(0) # 書き込み可能なコピー内で書き込むシート
malurl = ''http://xbox.ooqqxx.com/res/ext.jar
http://xbox.ooqqxx.com/res/stat.jar
http://xbox. ooqqxx.com/pages/v.html
http://xbox.ooqqxx.com/pages/extv.html
http://xbox.ooqqxx.com/pages/r.html'''
domain_info = "http://xbox.ooqqxx.com"
malinfo = u"悪意のある URL を取得し、構成ファイルに書き込み、悪意のある実行可能プログラムをダウンロードします。"
#r_sheet.nrows は行の合計数です
範囲(START_ROW, r_sheet.nrows):
#xlsvalue = r_sheet.cell(row_index,col_age_november).value
w_sheet.write (row_index, ismal_index, u'is')
w_sheet.write(row_index, url_index, malurl)
w_sheet.write(row_index, domain_index, domain_info)
w_sheet.write(row_index, malinfo_index, malinfo)
# wb.save(ファイルパス + '.out' + os.path.splitext(ファイルパス)[-1])
wb.save("C:\Users\***\Desktop\2013.xls" )