From bb45b8ebf072f3eec8f949cc324d42780a11317d Mon Sep 17 00:00:00 2001 From: "Christoph.Knote" Date: Mon, 18 Sep 2017 14:50:27 -0600 Subject: [PATCH] Unfortunate, but Sniffer does not understand Fortran output. --- boxmox/data.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/boxmox/data.py b/boxmox/data.py index f9b4088..e52fdc7 100644 --- a/boxmox/data.py +++ b/boxmox/data.py @@ -3,18 +3,20 @@ import sys import shutil import StringIO import csv +import warnings import numpy as np def _mygenfromtxt(f): curpos = f.tell() - dialect = csv.Sniffer().sniff(f.read(1048576), delimiters=";, ") - # for FORTRAN output, we "just" know we have to set this. - dialect.skipinitialspace = True - f.seek(curpos) + try: + dialect = csv.Sniffer().sniff(f.read(1048576), delimiters=";, ") + f.seek(curpos) + spamreader = csv.reader(f, dialect) + except: + warnings.warn('Could not determine dialect, falling back to default.') + spamreader = csv.reader(f, skipinitialspace = True, delimiter=" ") # twice as fast as np.genfromtxt(..., names=True) -# spamreader = csv.reader(f, skipinitialspace = True, delimiter=" ") - spamreader = csv.reader(f, dialect) hdr = spamreader.next() dat = [] for row in spamreader: -- GitLab