Skip to content

Commit 9884ce8

Browse files
authored
Merge pull request #39 from treyhunner/improve-csv-guessing
Improve CSV guessing
2 parents 10c2d20 + d57d2ee commit 9884ce8

1 file changed

Lines changed: 10 additions & 3 deletions

File tree

src/rich_cli/__main__.py

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -717,10 +717,17 @@ def render_csv(
717717
csv_data, _ = read_resource(resource, "csv")
718718
sniffer = csv.Sniffer()
719719
try:
720-
dialect = sniffer.sniff(csv_data[:1024])
720+
dialect = sniffer.sniff(csv_data[:1024], delimiters=",\t|;")
721721
has_header = sniffer.has_header(csv_data[:1024])
722-
except Exception as error:
723-
on_error(str(error))
722+
except csv.Error as error:
723+
if resource.endswith(".csv"):
724+
dialect = csv.get_dialect("excel")
725+
has_header = True
726+
elif resource.endswith(".tsv"):
727+
dialect = csv.get_dialect("excel-tab")
728+
has_header = True
729+
else:
730+
on_error(str(error))
724731

725732
csv_file = io.StringIO(csv_data)
726733
reader = csv.reader(csv_file, dialect=dialect)

0 commit comments

Comments
 (0)