Skip to main content

Simple Excel to CSV converter with merged-cell propagation and cp932 encoding

Project description

xlsx2csv-mergefill

Excelファイル(.xlsx)を、データ処理に適したCSV形式へ変換するPythonライブラリです。 結合セルの補完対応により、業務システムへのデータ取り込みを容易にします。

特徴

  • 結合セルの自動補完 — 結合領域を左上セルの値で埋め、データ欠損を防止
  • 複数シートの一括変換 — Excelブック内の全シートを安全なファイル名で自動出力

インストール

pip install xlsx2csv_mergefill

使い方

1. ExcelファイルをCSVに一括変換

from xlsx2csv_mergefill import convert_file

# 基本的な使用方法
convert_file("input.xlsx", "output")

# シート名を数値にする場合
convert_file("input.xlsx", "output", use_numeric_sheet_names=True)

# 非表示シートも含めて出力する場合
convert_file("input.xlsx", "output", include_hidden_sheets=True)

# 結合セル補完の最大バイト数を変更する場合
convert_file("input.xlsx", "output", merge_fill_max_bytes=200)

→ 出力形式:

  • 通常:<指定パスの拡張子なし>_シート名.csv という形式で同ディレクトリに出力されます
  • 数値オプション使用時:<指定パスの拡張子なし>_0.csv, <指定パスの拡張子なし>_1.csv という形式で出力されます

※ 1シートの場合でも、シート名(または数値)が付与されたファイル名で出力されます。

2. 特定シートをPythonリストとして読み込み

from xlsx2csv_mergefill import read_sheet

rows = read_sheet("input.xlsx")

# 結合セル補完の最大バイト数を変更する場合
rows = read_sheet("input.xlsx", merge_fill_max_bytes=200)

3. 全シートを辞書形式で読み込み

from xlsx2csv_mergefill import read_workbook

data = read_workbook("input.xlsx")

# 結合セル補完の最大バイト数を変更する場合
data = read_workbook("input.xlsx", merge_fill_max_bytes=200)

引数

  • input_path: 入力Excelファイルのパス
  • output_path: 出力先のパス。プレフィックスとして扱われ、<指定パスの拡張子なし>_シート名.csv を同ディレクトリに出力します。
  • use_numeric_sheet_names (オプション): True を指定すると、シート名の代わりに数値(0, 1, 2...)を使用してファイル名を生成します。デフォルトは False
  • include_hidden_sheets (オプション): True を指定すると、非表示シートも含めて出力します。デフォルトは False(非表示シートは出力しない)。
  • merge_fill_max_bytes (オプション): 結合セルの左上セル値を結合範囲へ補完する最大バイト数です(UTF-8換算)。デフォルトは 100

戻り値

  • 成功時に 0 を返します。

例外

  • FileNotFoundError などの例外を送出することがあります。

制限事項

  • 入力形式は .xlsx のみ対応(.xls 非対応)
  • 出力形式は UTP-8 / カンマ区切り固定
  • 数式セルは計算済みの値として取得されます
  • 結合セルの左上セル値が UTF-8 換算で merge_fill_max_bytes + 1 バイト以上の場合、結合範囲への補完は行いません

ライセンス

本プロジェクトはMITライセンスの下で公開されています。詳細はLICENSEファイルをご覧ください。

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

xlsx2csv_mergefill-1.0.9.tar.gz (12.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

xlsx2csv_mergefill-1.0.9-py3-none-any.whl (8.5 kB view details)

Uploaded Python 3

File details

Details for the file xlsx2csv_mergefill-1.0.9.tar.gz.

File metadata

  • Download URL: xlsx2csv_mergefill-1.0.9.tar.gz
  • Upload date:
  • Size: 12.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for xlsx2csv_mergefill-1.0.9.tar.gz
Algorithm Hash digest
SHA256 cbdd472d43c3bffa63c1291636d556971fe92aa199ae261744a5030cedffcd0b
MD5 81548cbc4efa357ab48b1812fe1bbbeb
BLAKE2b-256 c3432da3376b96059ba070eb734fa4a1f8d9957ff553061a7d5c6459af094884

See more details on using hashes here.

File details

Details for the file xlsx2csv_mergefill-1.0.9-py3-none-any.whl.

File metadata

File hashes

Hashes for xlsx2csv_mergefill-1.0.9-py3-none-any.whl
Algorithm Hash digest
SHA256 5f6662a97c774d02925eb26c5e5fbf5c88be1359fdefa3cfdecf384ccca77b83
MD5 87a161003f7ee906ac4a7147558b9da3
BLAKE2b-256 d9b4d0093d841a6b535728cabb98f933822071c50b3c7aaec357d205965e884d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page