Skip to main content

A simple state-machine based CSV parser.

Project description

CSV Parse

CSV Parse is a simple state-machine based approach to parsing CSV files. Its creation was motivated after dealing with some CSV parsers that could not properly handle strings with null bytes. It is not very fast, and definitely not very memory efficient, but if you want to explore simple CSV parsing, look no further. If you have CSV files that are incorrectly formatted, you can pretty easily modify the code to patch them up.


CSV parse supports reading from files or a buffer.

Reading Files

from csv_parse import read

data = read("/home/user/foo.txt")

Reading a buffer

from csv_parse import parse

my_string = 'foo,bar\nbaz,bat'
size = len(my_string)
data = parse(my_string, size)

CSV Parse also supports escaping, custom delimiters and newlines, and custom quoting.

data = read("/home/user/foo.txt", field_separator=',', null_as="", newline="\n", quote='"')



  • Messing with deployments!


  • Markdown for the Markdown parsing gods


  • Initial Release

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

csvparse-0.0.3.tar.gz (3.1 kB view hashes)

Uploaded Source

Built Distributions

csvparse-0.0.3-py3-none-any.whl (3.7 kB view hashes)

Uploaded Python 3

csvparse-0.0.3-py2-none-any.whl (2.5 kB view hashes)

Uploaded Python 2

Supported by

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