5

以下は、csv ファイルからデータを抽出するコードです (ダンプされた mysql からファイルを取得しました)。

data = csv.reader(f, delimiter=',', quotechar='"')

いくつかのテストの後、上記のコードには 1 つの大きな問題があることがわかりました。以下のようなデータを抽出することはできません。

"25","Mike Ross","Tennok\"","NO"

これを修正するアイデアはありますか?TQ。

4

1 に答える 1

7

モジュールは、それcsvがリテラルであることを示すためにデフォルトで引用符文字が2倍になることを期待している"ため、フィールドを誤って区切ります...

data = csv.reader(f, delimiter=',', quotechar='"')
# ['25', 'Mike Ross', 'Tennok\\",NO"']

escapecharこの動作をオーバーライドするために使用します。

data = csv.reader(f, delimiter=',', quotechar='"', escapechar='\\')
# ['25', 'Mike Ross', 'Tennok"', 'NO']
于 2013-09-06T08:41:27.437 に答える