5

下面是我从 csv 文件中提取数据的代码(我从转储的 mysql 中获取文件)。

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

经过几次测试,我发现我上面的代码有一个大问题。它无法提取以下数据:

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

有什么想法可以解决这个问题吗?TQ。

4

1 回答 1

7

csv模块希望引号字符默认加倍以指示它是文字",因此它会错误地分隔字段......

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 回答