xlsx2csv-mergefill


Namexlsx2csv-mergefill JSON
Version 1.0.1 PyPI version JSON
download
home_pageNone
SummarySimple Excel to CSV converter with merged-cell propagation and cp932 encoding
upload_time2025-10-07 01:26:39
maintainerNone
docs_urlNone
authorabachan
requires_python>=3.9
licenseMIT
keywords excel csv converter merged-cells cp932 shift-jis japanese
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # xlsx2csv-mergefill

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

## 特徴

* **結合セルの自動補完** — 結合領域を左上セルの値で埋め、データ欠損を防止
* **cp932形式での出力** — Shift_JIS互換のCSVを出力(業務システムでの互換性重視)
* **複数シートの一括変換** — Excelブック内の全シートを安全なファイル名で自動出力

## インストール

```bash
pip install xlsx2csv-mergefill
```

## 使い方

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

```python
from xlsx2csv_mergefill import convert_file

convert_file("input.xlsx", "output")
```

→ 複数シートの場合は `<指定パスの拡張子なし>_シート名.csv` という形式で同ディレクトリに複数出力されます。単一シートの場合は第2引数で指定したパスに1ファイルをそのまま出力します(拡張子の自動付与は行いません)。

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

```python
from xlsx2csv_mergefill import read_sheet

rows = read_sheet("input.xlsx")
```

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

```python
from xlsx2csv_mergefill import read_workbook

data = read_workbook("input.xlsx")
```

**引数**

* `input_path`: 入力Excelファイルのパス
* `output_path`: 出力先のパス。複数シートの場合はプレフィックスとして扱われ、`<指定パスの拡張子なし>_シート名.csv` を同ディレクトリに出力します。単一シートの場合はこのパスにそのまま出力します(例:`out.csv` を指定すると `out.csv` を出力)。

**戻り値**

* 成功時に `0` を返します。

**例外**

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

## 制限事項

* 入力形式は `.xlsx` のみ対応(`.xls` 非対応)
* 出力形式は `cp932` / カンマ区切り固定
* 数式セルは計算済みの値として取得されます

## ライセンス

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

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "xlsx2csv-mergefill",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": null,
    "keywords": "excel, csv, converter, merged-cells, cp932, shift-jis, japanese",
    "author": "abachan",
    "author_email": "aiba1114@cl.cilas.net",
    "download_url": "https://files.pythonhosted.org/packages/eb/b5/6c3302d3b92c2dd93b3694558fd3ad62cb927844fccc3664dabd2512261c/xlsx2csv-mergefill-1.0.1.tar.gz",
    "platform": null,
    "description": "# xlsx2csv-mergefill\r\n\r\nExcel\u30d5\u30a1\u30a4\u30eb\uff08.xlsx\uff09\u3092\u3001\u30c7\u30fc\u30bf\u51e6\u7406\u306b\u9069\u3057\u305fCSV\u5f62\u5f0f\u3078\u5909\u63db\u3059\u308bPython\u30e9\u30a4\u30d6\u30e9\u30ea\u3067\u3059\u3002\r\n\u7d50\u5408\u30bb\u30eb\u306e\u88dc\u5b8c\u3084\u6587\u5b57\u30b3\u30fc\u30c9\uff08cp932\uff09\u5bfe\u5fdc\u306b\u3088\u308a\u3001\u696d\u52d9\u30b7\u30b9\u30c6\u30e0\u3078\u306e\u30c7\u30fc\u30bf\u53d6\u308a\u8fbc\u307f\u3092\u5bb9\u6613\u306b\u3057\u307e\u3059\u3002\r\n\r\n## \u7279\u5fb4\r\n\r\n* **\u7d50\u5408\u30bb\u30eb\u306e\u81ea\u52d5\u88dc\u5b8c** \u2014 \u7d50\u5408\u9818\u57df\u3092\u5de6\u4e0a\u30bb\u30eb\u306e\u5024\u3067\u57cb\u3081\u3001\u30c7\u30fc\u30bf\u6b20\u640d\u3092\u9632\u6b62\r\n* **cp932\u5f62\u5f0f\u3067\u306e\u51fa\u529b** \u2014 Shift_JIS\u4e92\u63db\u306eCSV\u3092\u51fa\u529b\uff08\u696d\u52d9\u30b7\u30b9\u30c6\u30e0\u3067\u306e\u4e92\u63db\u6027\u91cd\u8996\uff09\r\n* **\u8907\u6570\u30b7\u30fc\u30c8\u306e\u4e00\u62ec\u5909\u63db** \u2014 Excel\u30d6\u30c3\u30af\u5185\u306e\u5168\u30b7\u30fc\u30c8\u3092\u5b89\u5168\u306a\u30d5\u30a1\u30a4\u30eb\u540d\u3067\u81ea\u52d5\u51fa\u529b\r\n\r\n## \u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\r\n\r\n```bash\r\npip install xlsx2csv-mergefill\r\n```\r\n\r\n## \u4f7f\u3044\u65b9\r\n\r\n### 1. Excel\u30d5\u30a1\u30a4\u30eb\u3092CSV\u306b\u4e00\u62ec\u5909\u63db\r\n\r\n```python\r\nfrom xlsx2csv_mergefill import convert_file\r\n\r\nconvert_file(\"input.xlsx\", \"output\")\r\n```\r\n\r\n\u2192 \u8907\u6570\u30b7\u30fc\u30c8\u306e\u5834\u5408\u306f `<\u6307\u5b9a\u30d1\u30b9\u306e\u62e1\u5f35\u5b50\u306a\u3057>_\u30b7\u30fc\u30c8\u540d.csv` \u3068\u3044\u3046\u5f62\u5f0f\u3067\u540c\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306b\u8907\u6570\u51fa\u529b\u3055\u308c\u307e\u3059\u3002\u5358\u4e00\u30b7\u30fc\u30c8\u306e\u5834\u5408\u306f\u7b2c2\u5f15\u6570\u3067\u6307\u5b9a\u3057\u305f\u30d1\u30b9\u306b1\u30d5\u30a1\u30a4\u30eb\u3092\u305d\u306e\u307e\u307e\u51fa\u529b\u3057\u307e\u3059\uff08\u62e1\u5f35\u5b50\u306e\u81ea\u52d5\u4ed8\u4e0e\u306f\u884c\u3044\u307e\u305b\u3093\uff09\u3002\r\n\r\n### 2. \u7279\u5b9a\u30b7\u30fc\u30c8\u3092Python\u30ea\u30b9\u30c8\u3068\u3057\u3066\u8aad\u307f\u8fbc\u307f\r\n\r\n```python\r\nfrom xlsx2csv_mergefill import read_sheet\r\n\r\nrows = read_sheet(\"input.xlsx\")\r\n```\r\n\r\n### 3. \u5168\u30b7\u30fc\u30c8\u3092\u8f9e\u66f8\u5f62\u5f0f\u3067\u8aad\u307f\u8fbc\u307f\r\n\r\n```python\r\nfrom xlsx2csv_mergefill import read_workbook\r\n\r\ndata = read_workbook(\"input.xlsx\")\r\n```\r\n\r\n**\u5f15\u6570**\r\n\r\n* `input_path`: \u5165\u529bExcel\u30d5\u30a1\u30a4\u30eb\u306e\u30d1\u30b9\r\n* `output_path`: \u51fa\u529b\u5148\u306e\u30d1\u30b9\u3002\u8907\u6570\u30b7\u30fc\u30c8\u306e\u5834\u5408\u306f\u30d7\u30ec\u30d5\u30a3\u30c3\u30af\u30b9\u3068\u3057\u3066\u6271\u308f\u308c\u3001`<\u6307\u5b9a\u30d1\u30b9\u306e\u62e1\u5f35\u5b50\u306a\u3057>_\u30b7\u30fc\u30c8\u540d.csv` \u3092\u540c\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306b\u51fa\u529b\u3057\u307e\u3059\u3002\u5358\u4e00\u30b7\u30fc\u30c8\u306e\u5834\u5408\u306f\u3053\u306e\u30d1\u30b9\u306b\u305d\u306e\u307e\u307e\u51fa\u529b\u3057\u307e\u3059\uff08\u4f8b\uff1a`out.csv` \u3092\u6307\u5b9a\u3059\u308b\u3068 `out.csv` \u3092\u51fa\u529b\uff09\u3002\r\n\r\n**\u623b\u308a\u5024**\r\n\r\n* \u6210\u529f\u6642\u306b `0` \u3092\u8fd4\u3057\u307e\u3059\u3002\r\n\r\n**\u4f8b\u5916**\r\n\r\n* `FileNotFoundError` \u306a\u3069\u306e\u4f8b\u5916\u3092\u9001\u51fa\u3059\u308b\u3053\u3068\u304c\u3042\u308a\u307e\u3059\u3002\r\n\r\n## \u5236\u9650\u4e8b\u9805\r\n\r\n* \u5165\u529b\u5f62\u5f0f\u306f `.xlsx` \u306e\u307f\u5bfe\u5fdc\uff08`.xls` \u975e\u5bfe\u5fdc\uff09\r\n* \u51fa\u529b\u5f62\u5f0f\u306f `cp932` / \u30ab\u30f3\u30de\u533a\u5207\u308a\u56fa\u5b9a\r\n* \u6570\u5f0f\u30bb\u30eb\u306f\u8a08\u7b97\u6e08\u307f\u306e\u5024\u3068\u3057\u3066\u53d6\u5f97\u3055\u308c\u307e\u3059\r\n\r\n## \u30e9\u30a4\u30bb\u30f3\u30b9\r\n\r\n\u672c\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306fMIT\u30e9\u30a4\u30bb\u30f3\u30b9\u306e\u4e0b\u3067\u516c\u958b\u3055\u308c\u3066\u3044\u307e\u3059\u3002\u8a73\u7d30\u306f[LICENSE](LICENSE)\u30d5\u30a1\u30a4\u30eb\u3092\u3054\u89a7\u304f\u3060\u3055\u3044\u3002\r\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Simple Excel to CSV converter with merged-cell propagation and cp932 encoding",
    "version": "1.0.1",
    "project_urls": {
        "Homepage": "https://github.com/your-username/xlsx2csv-mergefill",
        "Issues": "https://github.com/your-username/xlsx2csv-mergefill/issues",
        "Repository": "https://github.com/your-username/xlsx2csv-mergefill.git"
    },
    "split_keywords": [
        "excel",
        " csv",
        " converter",
        " merged-cells",
        " cp932",
        " shift-jis",
        " japanese"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "dde712ab3da9a0b5ef388fa186a11a687303bf607abdbcdcdbef3353ec771684",
                "md5": "e0b2bf166ac73dcddad07d99c2385a8a",
                "sha256": "5d79a3b6ad715123e2ffeac09c6a642459678cdc61a6015b8394168bb8baa691"
            },
            "downloads": -1,
            "filename": "xlsx2csv_mergefill-1.0.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "e0b2bf166ac73dcddad07d99c2385a8a",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 6134,
            "upload_time": "2025-10-07T01:26:37",
            "upload_time_iso_8601": "2025-10-07T01:26:37.877088Z",
            "url": "https://files.pythonhosted.org/packages/dd/e7/12ab3da9a0b5ef388fa186a11a687303bf607abdbcdcdbef3353ec771684/xlsx2csv_mergefill-1.0.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "ebb56c3302d3b92c2dd93b3694558fd3ad62cb927844fccc3664dabd2512261c",
                "md5": "153bf0843ee93fa5ccca2bfbd1579bb3",
                "sha256": "f04ceb86a63d314057a278b9fa7418525add1149e4f8df042bab1526c17e4836"
            },
            "downloads": -1,
            "filename": "xlsx2csv-mergefill-1.0.1.tar.gz",
            "has_sig": false,
            "md5_digest": "153bf0843ee93fa5ccca2bfbd1579bb3",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 6381,
            "upload_time": "2025-10-07T01:26:39",
            "upload_time_iso_8601": "2025-10-07T01:26:39.502064Z",
            "url": "https://files.pythonhosted.org/packages/eb/b5/6c3302d3b92c2dd93b3694558fd3ad62cb927844fccc3664dabd2512261c/xlsx2csv-mergefill-1.0.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-10-07 01:26:39",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "your-username",
    "github_project": "xlsx2csv-mergefill",
    "github_not_found": true,
    "lcname": "xlsx2csv-mergefill"
}
        
Elapsed time: 1.89925s