Skip to main content

xlsx to csv converter

Project description

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

Download files

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

Source Distribution

xlsx2csv-0.8.6.tar.gz (228.3 kB view details)

Uploaded Source

Built Distribution

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

xlsx2csv-0.8.6-py3-none-any.whl (17.2 kB view details)

Uploaded Python 3

File details

Details for the file xlsx2csv-0.8.6.tar.gz.

File metadata

  • Download URL: xlsx2csv-0.8.6.tar.gz
  • Upload date:
  • Size: 228.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for xlsx2csv-0.8.6.tar.gz
Algorithm Hash digest
SHA256 618fc502612860de8ab8e3d6195e99ef332fffc68337f6b89e59690aad0d20b5
MD5 b4fac72fd7ffa84293b171b626ba427d
BLAKE2b-256 62369d53c4a72dcdc08fcf46f3d02f71f22bc693bb66e87bd935e0c9668500ad

See more details on using hashes here.

File details

Details for the file xlsx2csv-0.8.6-py3-none-any.whl.

File metadata

  • Download URL: xlsx2csv-0.8.6-py3-none-any.whl
  • Upload date:
  • Size: 17.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for xlsx2csv-0.8.6-py3-none-any.whl
Algorithm Hash digest
SHA256 415341e348b4c474cc84a4c23c4d116e0be07c89be6a84c5fde5e4c948db1943
MD5 4caefc7f5deeada6684d6c0de510c984
BLAKE2b-256 f4d69fd7e753a927cb11d039848a659124e6ec4cfe008704bb2790df7712c36d

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