mirror of
https://github.com/ankitects/anki.git
synced 2025-09-20 23:12:21 -04:00
support escaped quotes in csv file, ignore bom marker
This commit is contained in:
parent
4437024ecc
commit
ea32bce31c
1 changed files with 5 additions and 4 deletions
|
@ -33,9 +33,9 @@ class TextImporter(Importer):
|
||||||
lineNum = 0
|
lineNum = 0
|
||||||
ignored = 0
|
ignored = 0
|
||||||
if self.delimiter:
|
if self.delimiter:
|
||||||
reader = csv.reader(self.data, delimiter=self.delimiter)
|
reader = csv.reader(self.data, delimiter=self.delimiter, doublequote=True)
|
||||||
else:
|
else:
|
||||||
reader = csv.reader(self.data, self.dialect)
|
reader = csv.reader(self.data, self.dialect, doublequote=True)
|
||||||
for row in reader:
|
for row in reader:
|
||||||
try:
|
try:
|
||||||
row = [unicode(x, "utf-8") for x in row]
|
row = [unicode(x, "utf-8") for x in row]
|
||||||
|
@ -74,6 +74,7 @@ class TextImporter(Importer):
|
||||||
self.dialect = None
|
self.dialect = None
|
||||||
self.fileobj = open(self.file, "rbU")
|
self.fileobj = open(self.file, "rbU")
|
||||||
self.data = self.fileobj.read()
|
self.data = self.fileobj.read()
|
||||||
|
self.data = self.data.lstrip(codecs.BOM_UTF8)
|
||||||
self.data = re.sub("^ *#.*", "", self.data)
|
self.data = re.sub("^ *#.*", "", self.data)
|
||||||
self.data = [x for x in self.data.split("\n") if x]
|
self.data = [x for x in self.data.split("\n") if x]
|
||||||
if self.data:
|
if self.data:
|
||||||
|
@ -102,7 +103,7 @@ class TextImporter(Importer):
|
||||||
pass
|
pass
|
||||||
if self.dialect:
|
if self.dialect:
|
||||||
try:
|
try:
|
||||||
reader = csv.reader(self.data, self.dialect)
|
reader = csv.reader(self.data, self.dialect, doublequote=True)
|
||||||
except:
|
except:
|
||||||
err()
|
err()
|
||||||
else:
|
else:
|
||||||
|
@ -115,7 +116,7 @@ class TextImporter(Importer):
|
||||||
self.delimiter = ","
|
self.delimiter = ","
|
||||||
else:
|
else:
|
||||||
self.delimiter = " "
|
self.delimiter = " "
|
||||||
reader = csv.reader(self.data, delimiter=self.delimiter)
|
reader = csv.reader(self.data, delimiter=self.delimiter, doublequote=True)
|
||||||
try:
|
try:
|
||||||
self.numFields = len(reader.next())
|
self.numFields = len(reader.next())
|
||||||
except:
|
except:
|
||||||
|
|
Loading…
Reference in a new issue