Skip to main content

xlsx2csv

xlsx to csv converter (http://github.com/dilshod/xlsx2csv)

Converts xlsx files to csv format. Handles large XLSX files. Fast and easy to use.

Tested (supported) Python versions:

  • 2.4
  • 2.7
  • 3.4 to 3.14

Installation:

sudo easy_install xlsx2csv

or

pip install xlsx2csv

Also works standalone with only the xlsx2csv.py script.

Usage:

 xlsx2csv.py [-h] [-v] [-a] [-c OUTPUTENCODING] [-s SHEETID]
                   [-n SHEETNAME] [-d DELIMITER] [-l LINETERMINATOR]
                   [-f DATEFORMAT] [--floatformat FLOATFORMAT]
                   [-i] [-e] [-p SHEETDELIMITER]
                   [--hyperlinks]
                   [-I INCLUDE_SHEET_PATTERN [INCLUDE_SHEET_PATTERN ...]]
                   [-E EXCLUDE_SHEET_PATTERN [EXCLUDE_SHEET_PATTERN ...]] [-m]
                   xlsxfile [outfile]

positional arguments:

  xlsxfile              xlsx file path, use '-' to read from STDIN
  outfile               output csv file path, or directory if -s 0 is specified

optional arguments:

  -h, --help            show this help message and exit
  -v, --version         show program's version number and exit
  -a, --all             export all sheets
  -c OUTPUTENCODING, --outputencoding OUTPUTENCODING
                        encoding of output CSV **Python 3 only** (default: utf-8)
  -s SHEETID, --sheet SHEETID
                        sheet number to convert, 0 for all
  -n SHEETNAME, --sheetname SHEETNAME
                        sheet name to convert
  -d DELIMITER, --delimiter DELIMITER
                        delimiter - column delimiter in CSV, 'tab' or 'x09'
                        for a tab (default: comma ',')
  -l LINETERMINATOR, --lineterminator LINETERMINATOR
                        line terminator - line terminator in CSV, '\n' '\r\n'
                        or '\r' (default: os.linesep)
  -f DATEFORMAT, --dateformat DATEFORMAT
                        override date/time format (ex. %Y/%m/%d)
  --floatformat FLOATFORMAT
                        override float format (ex. %.15f)
  -i, --ignoreempty     skip empty lines
  -e, --escape          escape \r\n\t characters
  -p SHEETDELIMITER, --sheetdelimiter SHEETDELIMITER
                        sheet delimiter used to separate sheets, pass '' if
                        you do not need a delimiter, or 'x07' or '\\f' for form
                        feed (default: '--------')
  -q QUOTING, --quoting QUOTING
                        field quoting, 'none' 'minimal' 'nonnumeric' or 'all' (default: 'minimal')
  --hyperlinks, --hyperlinks
                        include hyperlinks
  -I INCLUDE_SHEET_PATTERN [INCLUDE_SHEET_PATTERN ...], --include_sheet_pattern INCLUDE_SHEET_PATTERN [INCLUDE_SHEET_PATTERN ...]
                        only include sheets with names matching the given pattern, only
                        affects when -a option is enabled.
  -E EXCLUDE_SHEET_PATTERN [EXCLUDE_SHEET_PATTERN ...], --exclude_sheet_pattern EXCLUDE_SHEET_PATTERN [EXCLUDE_SHEET_PATTERN ...]
                        exclude sheets with names matching the given pattern, only
                        affects when -a option is enabled.
  -m, --merge-cells     merge cells

Usage with a folder containing multiple xlsx files:

    python xlsx2csv.py /path/to/input/dir /path/to/output/dir

will output each file in the input directory converted to .csv in the output directory. If omitting the output directory, it will output the converted files in the input directory.

Usage from within Python:

  from xlsx2csv import Xlsx2csv

  # Recommended: using context manager for proper resource cleanup
  with Xlsx2csv("myfile.xlsx", outputencoding="utf-8") as xlsx2csv:
      xlsx2csv.convert("myfile.csv")

  # Simple usage (but may cause ResourceWarning in modern Python)
  Xlsx2csv("myfile.xlsx", outputencoding="utf-8").convert("myfile.csv")

Expat SAX parser is used for XML parsing.

See alternatives:

Perl:

https://metacpan.org/dist/Spreadsheet-Read/view/scripts/xlsx2csv

Bash: http://kirk.webfinish.com/?p=91

Python: http://github.com/staale/python-xlsx http://github.com/leegao/pyXLSX

Ruby: http://roo.rubyforge.org/

Java: http://poi.apache.org/

Meta

Dilshod Temirkhdojaev – tdilshod@gmail.com

Distributed under the MIT license. See LICENSE for more information.

https://github.com/dilshod

Release files for xlsx2csv 0.8.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for xlsx2csv 0.8.6
File Size Uploaded
xlsx2csv-0.8.6.tar.gz 228.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for xlsx2csv 0.8.6
File Interpreter ABI Platform
xlsx2csv-0.8.6-py3-none-any.whl Python 3 none any Details

Total release size: 245.5 kB

Release files / xlsx2csv-0.8.6.tar.gz

Download URL xlsx2csv-0.8.6.tar.gz
Size 228.3 kB
Tags Source
SHA-256 checksum
How to use checksums
618fc502612860de8ab8e3d6195e99ef332fffc68337f6b89e59690aad0d20b5
BLAKE2b-256 checksum
How to use checksums
62369d53c4a72dcdc08fcf46f3d02f71f22bc693bb66e87bd935e0c9668500ad
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.14

Release files / xlsx2csv-0.8.6-py3-none-any.whl

Download URL xlsx2csv-0.8.6-py3-none-any.whl
Size 17.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
415341e348b4c474cc84a4c23c4d116e0be07c89be6a84c5fde5e4c948db1943
BLAKE2b-256 checksum
How to use checksums
f4d69fd7e753a927cb11d039848a659124e6ec4cfe008704bb2790df7712c36d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.11

Release history Release notifications | RSS feed

This release

0.8.6 This release

2 release files

0.8.5

2 release files

0.8.4

2 release files

0.8.3

2 release files

0.8.2

2 release files

0.8.1

2 release files

0.8.0

2 release files

0.7.8

1 release file

0.7.7

1 release file

0.7.6

1 release file

0.7.5

1 release file

0.7.4

1 release file

0.7.3

1 release file

0.7.2

2 release files

0.7.1

2 release files

0.6.1

2 release files

0.6

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page