以下は、csv ファイルからデータを抽出するコードです (ダンプされた mysql からファイルを取得しました)。
data = csv.reader(f, delimiter=',', quotechar='"')
いくつかのテストの後、上記のコードには 1 つの大きな問題があることがわかりました。以下のようなデータを抽出することはできません。
"25","Mike Ross","Tennok\"","NO"
これを修正するアイデアはありますか?TQ。
以下は、csv ファイルからデータを抽出するコードです (ダンプされた mysql からファイルを取得しました)。
data = csv.reader(f, delimiter=',', quotechar='"')
いくつかのテストの後、上記のコードには 1 つの大きな問題があることがわかりました。以下のようなデータを抽出することはできません。
"25","Mike Ross","Tennok\"","NO"
これを修正するアイデアはありますか?TQ。
モジュールは、それ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']