Excelファイル(xls形式)の操作
xlwtを使用したExcelファイルの作成と書き込み
import xlwt
def create_xls_file(data_list, output_path):
# ワークブックの作成
book = xlwt.Workbook(encoding="utf-8")
# ワークシートの追加
sheet = book.add_sheet('データシート')
# データの書き込み
for row_idx, row_data in enumerate(data_list):
for col_idx, cell_value in enumerate(row_data):
sheet.write(row_idx, col_idx, cell_value)
# ファイルの保存
book.save(output_path)
# 使用例
sample_data = [
['商品ID', '商品名', '価格'],
[1001, 'ノートPC', 120000],
[1002, 'スマートフォン', 80000],
[1003, 'タブレット', 50000]
]
create_xls_file(sample_data, 'products.xls')
xlrdを使用したExcelファイルの読み込み
import xlrd
def read_xls_file(file_path):
# ワークブックのオープン
workbook = xlrd.open_workbook(file_path)
# 最初のシートを取得
sheet = workbook.sheet_by_index(0)
# データの読み込み
extracted_data = []
for row in range(sheet.nrows):
row_data = sheet.row_values(row)
extracted_data.append(row_data)
return extracted_data
# 使用例
data = read_xls_file('products.xls')
for row in data:
print(row)
Excelファイル(xlsx形式)の操作
openpyxlを使用した基本的な操作
import openpyxl
from openpyxl.styles import Font, Alignment
def create_xlsx_file(data, filename):
# ワークブックの作成
wb = openpyxl.Workbook()
ws = wb.active
# スタイルの設定
header_font = Font(bold=True)
center_align = Alignment(horizontal='center')
# データの書き込み
for row in data:
ws.append(row)
# ヘッダーのスタイル適用
for cell in ws[1]:
cell.font = header_font
cell.alignment = center_align
# 列幅の調整
ws.column_dimensions['A'].width = 15
ws.column_dimensions['B'].width = 20
ws.column_dimensions['C'].width = 12
# ファイルの保存
wb.save(filename)
# 使用例
sales_data = [
['取引日', '顧客名', '金額'],
['2023-10-01', '株式会社A', 150000],
['2023-10-02', '株式会社B', 98000],
['2023-10-03', '株式会社C', 120000]
]
create_xlsx_file(sales_data, 'sales_report.xlsx')
既存ファイルへのデータ追加
def append_to_xlsx(new_data, filename):
# 既存ファイルを読み込み
wb = openpyxl.load_workbook(filename)
ws = wb.active
# 新しいデータを追加
for row in new_data:
ws.append(row)
# ファイルの保存
wb.save(filename)
# 使用例
additional_data = [
['2023-10-04', '株式会社D', 85000],
['2023-10-05', '株式会社E', 110000]
]
append_to_xlsx(additional_data, 'sales_report.xlsx')