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.

Usage

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='"')

Changelog

0.0.3

  • Messing with deployments!

0.0.2

  • Markdown for the Markdown parsing gods

0.0.1

  • 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 details)

Uploaded Source

Built Distributions

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

Uploaded Python 3

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

Uploaded Python 2

File details

Details for the file csvparse-0.0.3.tar.gz.

File metadata

  • Download URL: csvparse-0.0.3.tar.gz
  • Upload date:
  • Size: 3.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for csvparse-0.0.3.tar.gz
Algorithm Hash digest
SHA256 1107581330a0054d89667c0fc8e133a3d80d935eba243b22b78fd6a8bfc7381b
MD5 4ab2e88258025bb856fe0bfb4d644232
BLAKE2b-256 95c88cffa4b4edbedbaabfa93c0c84486558ef5fcb3cc422126d95a555b5b6c9

See more details on using hashes here.

File details

Details for the file csvparse-0.0.3-py3-none-any.whl.

File metadata

File hashes

Hashes for csvparse-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 06603c6c5afe87465f2a1820e21aaf5a2d601be2f39e88f73054ab36638b5453
MD5 a8e4ad37e2757e84bc504e9190c81ce3
BLAKE2b-256 f4eb0fcb2a7a1d6fe1f05e883800afaa15d6a352f7d80ccd73d42c9def8677ec

See more details on using hashes here.

File details

Details for the file csvparse-0.0.3-py2-none-any.whl.

File metadata

File hashes

Hashes for csvparse-0.0.3-py2-none-any.whl
Algorithm Hash digest
SHA256 d8e4705e65ce6bdd896e6792ecd3d49ab67789e955a6e44fb296ef6c31e4567d
MD5 62c59c460b614e01be7b1d24aaa91c9c
BLAKE2b-256 584db54fb5ad1b77f4ac9af6a85b51e3806a926126d886c2cedc98b93c2215fe

See more details on using hashes here.

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