sqlite-utils/sqlite_utils
agustin18 c27092220d Preserve carriage returns in quoted CSV/TSV fields (#895)
When reading CSV or TSV files through rows_from_file() or the CLI insert command, io.TextIOWrapper defaulted to universal-newline mode (newline=None), causing carriage returns (\r\n or lone \r) embedded inside quoted fields to be silently translated to \n before csv.reader could process them.

Setting newline='' in TextIOWrapper preserves carriage returns in quoted fields according to the Python standard library csv module specification.

Fixes #895
2026-10-03 23:08:20 +00:00
..
__init__.py Support ANY column types for strict tables 2026-08-12 16:44:01 -07:00
__main__.py Support 'python -m sqlite_utils', closes #368 2022-01-08 18:33:22 -08:00
cli.py Preserve carriage returns in quoted CSV/TSV fields (#895) 2026-10-03 23:08:20 +00:00
create_table_parser.py Preserve composite UNIQUE constraints in transforms 2026-08-12 18:46:18 -07:00
db.py Fix for sqlite-utils 4.2 crashing bug (#843) 2026-08-13 16:52:03 -07:00
hookspecs.py Fixes for Ruff>=0.16.0 (#814) 2026-07-25 14:53:12 -07:00
migrations.py Fixes for Ruff>=0.16.0 (#814) 2026-07-25 14:53:12 -07:00
plugins.py Fixes for Ruff>=0.16.0 (#814) 2026-07-25 14:53:12 -07:00
py.typed py.typed file so mypy picks up the types, closes #331 2021-11-14 15:21:04 -08:00
recipes.py Fixes for Ruff>=0.16.0 (#814) 2026-07-25 14:53:12 -07:00
utils.py Preserve carriage returns in quoted CSV/TSV fields (#895) 2026-10-03 23:08:20 +00:00