smarter_csv
Fastest end-to-end CSV ingestion for Ruby (with C acceleration). SmarterCSV auto-detects formats, applies smart defaults, and returns Rails-ready hashes for seamless use with ActiveRecord, Sidekiq, parallel jobs, and S3 pipelines โ even for messy user-uploaded real-world data.
File Explorer
Download Latest Version (.zip)- codeql-analysis.yml
- ruby.yml
- dependabot.yml
- FUNDING.yml
- generate-upgrading-md
- benchmarks.md
- changes.md
- performance_notes.md
- benchmarks.md
- changes.md
- performance_notes.md
- .nojekyll
- _introduction.md
- bad_row_quarantine.md
- basic_read_api.md
- basic_write_api.md
- batch_processing.md
- column_selection.md
- data_transformations.md
- examples.md
- header_transformations.md
- header_validations.md
- history.md
- instrumentation.md
- migrating_from_csv.md
- options.md
- parsing_strategy.md
- real_world_csv.md
- row_col_sep.md
- ruby_csv_pitfalls.md
- upgrade_path.json
- upgrade_wizard.html
- value_converters.md
- warnings.md
- eisel_lemire.h
- eisel_lemire_powers.h
- LICENSE-fast_float-MIT
- cpu_flags.rb
- extconf.rb
- smarter_csv.c
- SmarterCSV_1.16.0_vs_previous_C-speedup.png
- SmarterCSV_1.16.0_vs_previous_C-speedup.svg
- SmarterCSV_1.16.0_vs_previous_Rb-speedup.png
- SmarterCSV_1.16.0_vs_previous_Rb-speedup.svg
- SmarterCSV_1.16.0_vs_RubyCSV_3.3.5_speedup.png
- SmarterCSV_1.16.0_vs_RubyCSV_3.3.5_speedup.svg
- SmarterCSV_1.17.0_vs_previous_C-speedup.svg
- SmarterCSV_1.17.0_vs_previous_Rb-speedup.svg
- SmarterCSV_1.17.0_vs_RubyCSV_3.3.5_speedup.svg
- auto_detection.rb
- errors.rb
- file_io.rb
- hash_transformations.rb
- header_transformations.rb
- header_validations.rb
- headers.rb
- parser.rb
- peekable_io.rb
- reader.rb
- reader_options.rb
- version.rb
- writer.rb
- writer_options.rb
- smarter_csv.rb
- binary_file_spec.rb
- chunked_reading_spec.rb
- chunked_spec.rb
- convert_values_to_numeric_spec.rb
- value_converters_spec.rb
- each_spec.rb
- bom_issues_spec.rb
- carriage_return_spec.rb
- column_separator_spec.rb
- emoji_spec.rb
- line_ending_spec.rb
- valid_unicode_spec.rb
- additional_separator_spec.rb
- basic_spec.rb
- empty_columns_spec.rb
- parse_spec.rb
- simple_spec.rb
- c_transformations_spec.rb
- remove_empty_values_spec.rb
- remove_keys_from_hashes_spec.rb
- remove_not_mapped_keys_spec.rb
- remove_values_matching_spec.rb
- remove_zero_values_spec.rb
- duplicate_headers_spec.rb
- header_transformation_spec.rb
- invalid_headers_spec.rb
- keep_headers_spec.rb
- key_mapping_spec.rb
- no_header_spec.rb
- not_downcase_header_spec.rb
- required_headers_spec.rb
- silence_missing_keys_spec.rb
- strings_as_keys_spec.rb
- strip_chars_from_headers_spec.rb
- backslash_in_quoted_field_spec.rb
- escaped_quote_chars_spec.rb
- long_quoted_field_scan_spec.rb
- quote_boundary_modes_spec.rb
- quoted_spec.rb
- unescape_quotes_invariants_spec.rb
- bad_row_quarantine_spec.rb
- column_selection_spec.rb
- cr_in_unquoted_fields_spec.rb
- empty_lines_spec.rb
- extra_columns_spec.rb
- hard_sample_spec.rb
- malformed_spec.rb
- problematic_spec.rb
- quote_boundary_spec.rb
- strip_whitespace_spec.rb
- trading_spec.rb
- ignore_comments_spec.rb
- peekable_io_integration_spec.rb
- skip_lines_spec.rb
- additional_separator.csv
- auto_fallback_rfc.csv
- bad_row_multiline.csv
- bad_row_quarantine.csv
- bad_row_quarantine_multi.csv
- basic.csv
- binary.csv
- binary_no_headers.csv
- bom_test_0000feff.csv
- bom_test_efbbbf.csv
- bom_test_feff.csv
- bom_test_fffe.csv
- bom_test_fffe0000.csv
- carriage_returns_n.csv
- carriage_returns_quoted.csv
- carriage_returns_r.csv
- carriage_returns_rn.csv
- chunk_cornercase.csv
- chunked.csv
- closing_quote_non_delimiter.csv
- continuation_lines.csv
- duplicate_headers.csv
- emoji.csv
- empty.csv
- empty_columns_1.csv
- empty_columns_2.csv
- empty_headers.csv
- empty_lines.csv
- escaped_quote_char.csv
- escaped_quote_char_2.csv
- escaped_quote_char_3.csv
- escaped_quote_char_4.csv
- extra_columns.csv
- floats_and_dates.csv
- hard_sample.csv
- ignore_comments.csv
- ignore_comments2.csv
- key_mapping.csv
- line_endings_n.csv
- line_endings_r.csv
- line_endings_rn.csv
- lots_of_columns.csv
- malformed.csv
- malformed_data_eof.csv
- malformed_data_gobbled.csv
- malformed_header.csv
- money.csv
- no_header.csv
- numeric.csv
- pets.csv
- problematic.csv
- quote_char.csv
- quoted.csv
- quoted2.csv
- quoted_header_with_comma.csv
- required_headers.csv
- sample.csv
- separator_chars_between_quotes.csv
- separator_chars_between_quotes_no_headers.csv
- separator_colon.csv
- separator_colon_no_headers.csv
- separator_comma.csv
- separator_comma_no_headers.csv
- separator_comma_no_headers_will_fail.csv
- separator_pipe.csv
- separator_pipe_no_headers.csv
- separator_semi.csv
- separator_semi_no_headers.csv
- separator_tab.csv
- separator_tab_no_headers.csv
- silence_missing_keys.csv
- simple_no_header.csv
- simple_no_header_windows.csv
- simple_with_header.csv
- simple_with_header_utf8.csv
- simple_with_header_utf8_windows.csv
- simple_with_header_windows.csv
- simple_with_header_with_space.csv
- skip_lines.csv
- trading.csv
- transformations.csv
- unquoted_quote_midfield.csv
- user_import.csv
- valid_unicode.csv
- with_dashes.csv
- with_dates.csv
- column_separator_spec.rb
- max_size_spec.rb
- nil_line_input_spec.rb
- old_csv_library_spec.rb
- README.md
- rfc4180_and_more_spec.rb
- blank_spec.rb
- class_level_errors_spec.rb
- class_level_warnings_spec.rb
- close_file_spec.rb
- count_quote_chars_ruby_fallback_spec.rb
- cpu_flags_spec.rb
- errors_preservation_spec.rb
- field_size_limit_spec.rb
- file_encoding_spec.rb
- float_parsing_parity_spec.rb
- floats_spec.rb
- guess_line_ending_spec.rb
- instrumentation_hooks_spec.rb
- option_validations_spec.rb
- parity_fuzz_spec.rb
- parser_ruby_fallback_spec.rb
- peekable_io_spec.rb
- reader_options_processing_spec.rb
- reader_options_validation_coverage_spec.rb
- reader_spec.rb
- record_warning_routing_spec.rb
- tempfile_safety_spec.rb
- writer_options_spec.rb
- writer_spec.rb
- .rspec
- .rspec.status
- backslash_and_quote_char_edge_cases_spec.rb
- spec.opts
- spec_helper.rb
- .gitignore
- .rspec
- .rubocop.yml
- .rvmrc
- .travis.yml
- CHANGELOG.md
- CONTRIBUTORS.md
- Gemfile
- LICENSE.txt
- Rakefile
- README.md
- smarter_csv.gemspec
- UPGRADING.md
// repository documentation
Was this content helpful?
(0 ratings)
