此CSV文件中,某个单元格可能包含逗号、双引号、换行,想把它们读出来放在二维数组里
例:
0,BeiJing,"""False"",one
""True"",two"
1,ShangHai,"""False"",one
""True"",two"
求指点
------解决方案--------------------
- Python code
import csv import codecs import cStringIO class ReadCSV(object): def __init__(self): self.coding = "mbcs" def ReadCSVDatas(self, filename): class UnicodeReader: def __init__(self, f, dialect=csv.excel, encoding="mbcs", **kwds): class UTF8Recoder: def __init__(self, f, encoding): self.reader = codecs.getreader(encoding)(f) def __iter__(self): return self def next(self): return self.reader.next().encode("utf-8") f = UTF8Recoder(f, encoding) self.reader = csv.reader(f, dialect=dialect, **kwds) def next(self): row = self.reader.next() return [ unicode(s, "utf-8") for s in row ] def __iter__(self): return self items = [] datas = UnicodeReader( f = file( filename, "r" ), encoding = self.coding ) for data in datas: items.append(data) return items