xlwt を使用して既存のファイルに書き込む例が見つかりません。書き込む必要がある既存の xls ファイルがあります。xlrd を使用してファイルを読み取ると、返された "Book" タイプを xlwt.Workbook に変換する方法がわかりません。誰かが私に例を挙げてくれれば幸いです。
167820 次
5 に答える
263
これを行うために最近使用したサンプルコードを次に示します。
ワークブックを開き、行を下に移動し、条件が満たされた場合、行にデータを書き込みます。最後に、変更されたファイルを保存します。
from xlutils.copy import copy # http://pypi.python.org/pypi/xlutils
from xlrd import open_workbook # http://pypi.python.org/pypi/xlrd
START_ROW = 297 # 0 based (subtract 1 from excel row number)
col_age_november = 1
col_summer1 = 2
col_fall1 = 3
rb = open_workbook(file_path,formatting_info=True)
r_sheet = rb.sheet_by_index(0) # read only copy to introspect the file
wb = copy(rb) # a writable copy (I can't read values out of this, only write to it)
w_sheet = wb.get_sheet(0) # the sheet to write to within the writable copy
for row_index in range(START_ROW, r_sheet.nrows):
age_nov = r_sheet.cell(row_index, col_age_november).value
if age_nov == 3:
#If 3, then Combo I 3-4 year old for both summer1 and fall1
w_sheet.write(row_index, col_summer1, 'Combo I 3-4 year old')
w_sheet.write(row_index, col_fall1, 'Combo I 3-4 year old')
wb.save(file_path + '.out' + os.path.splitext(file_path)[-1])
于 2010-04-28T01:30:54.397 に答える
24
が必要xlutils.copy
です。次のようなことを試してください:
from xlutils.copy import copy
w = copy('book1.xls')
w.get_sheet(0).write(0,0,"foo")
w.save('book2.xls')
この質問に記載されているように、デフォルトではセルを上書きできないことに注意してください。
于 2010-04-27T23:37:51.277 に答える
5
openpyxl
# -*- coding: utf-8 -*-
import openpyxl
file = 'sample.xlsx'
wb = openpyxl.load_workbook(filename=file)
# Seleciono la Hoja
ws = wb.get_sheet_by_name('Hoja1')
# Valores a Insertar
ws['A3'] = 42
ws['A4'] = 142
# Escribirmos en el Fichero
wb.save(file)
于 2017-04-18T12:29:44.420 に答える