我有一個csv文件,使用þ作爲報價,段落符號作爲逗號分隔值。read_csv使用不常見的分隔符
使用子類csv.Dialect不起作用。熊貓不會將這個數值解釋爲一個字符串。
任何想法?
# This works when the delimiters are more standard (; ")
# But really trying to make it work with the ASCII chars commented out below
import csv
f = open('./data/Test_Quote_SemiColon.dat')
class my_dialect(csv.Dialect):
lineterminator = '\n'
delimiter = ';' # ASCII: 020
quotechar = '"' # ASCII: 254
reader = csv.reader(f, dialect=my_dialect, quoting=1)
for line in reader:
print line
這裏是(報價和半結腸)數據:
「BEGID」; 「endID所」, 「名稱」, 「要」, 「從」; 「CC」, 「BCC」 「ABC_001」;「ABC_004」;「Smith,John」;「Doe,John」;「Roe,Jane」;「」;「」012_「ABC_005」;「ABC_007」 John「;」「;」「」;「」012_「ABC_008」;「ABC_012」;「Doe,John」;「Doe,John」;「Smith,John」;「」;「」
你能給你的數據的一個小例子(過去的CSV文件,或東西,看起來像它和複製問題的一部分),以及您用熊貓閱讀的代碼。 – joris 2014-09-13 17:58:39
在csv上使用什麼編碼?你有沒有試過改變編碼?你知道這些符號的ASCII代碼,所以你可以做sep ='something'和quote ='something'? – Inox 2014-09-13 20:53:18