From ea32bce31cfb1757e5367330b572a51ef529362f Mon Sep 17 00:00:00 2001 From: Damien Elmes Date: Mon, 30 Aug 2010 20:40:28 +0900 Subject: [PATCH] support escaped quotes in csv file, ignore bom marker --- anki/importing/csvfile.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/anki/importing/csvfile.py b/anki/importing/csvfile.py index cb0826307..00fb0bd91 100644 --- a/anki/importing/csvfile.py +++ b/anki/importing/csvfile.py @@ -33,9 +33,9 @@ class TextImporter(Importer): lineNum = 0 ignored = 0 if self.delimiter: - reader = csv.reader(self.data, delimiter=self.delimiter) + reader = csv.reader(self.data, delimiter=self.delimiter, doublequote=True) else: - reader = csv.reader(self.data, self.dialect) + reader = csv.reader(self.data, self.dialect, doublequote=True) for row in reader: try: row = [unicode(x, "utf-8") for x in row] @@ -74,6 +74,7 @@ class TextImporter(Importer): self.dialect = None self.fileobj = open(self.file, "rbU") self.data = self.fileobj.read() + self.data = self.data.lstrip(codecs.BOM_UTF8) self.data = re.sub("^ *#.*", "", self.data) self.data = [x for x in self.data.split("\n") if x] if self.data: @@ -102,7 +103,7 @@ class TextImporter(Importer): pass if self.dialect: try: - reader = csv.reader(self.data, self.dialect) + reader = csv.reader(self.data, self.dialect, doublequote=True) except: err() else: @@ -115,7 +116,7 @@ class TextImporter(Importer): self.delimiter = "," else: self.delimiter = " " - reader = csv.reader(self.data, delimiter=self.delimiter) + reader = csv.reader(self.data, delimiter=self.delimiter, doublequote=True) try: self.numFields = len(reader.next()) except: