【发布时间】:2017-04-27 18:04:54
【问题描述】:
我正在尝试将 json 表转换为 csv 文件,但问题是当字段包含分隔符时,它会被复制相同的内容,并且以后可能会导致一些解释问题。 csv.writer 中是否有一个选项可以删除字段内的分隔符(如果存在)?或者至少用我猜的引号括起来。
【问题讨论】:
-
可能类似于
data.replace(",", "")? -
为什么要删除分隔符,剥夺您可能有价值的信息?此外,分隔符应该自动引用,这种情况当然是由
csv模块处理的,你应该没有任何问题。你能提供一个minimal reproducible example 吗? -
@Jean-FrançoisFabre 因为当您尝试使用 R 读取它时,它会导致错误,因为检测到某些行的列比其他行多。同样你是对的 csv.writer 似乎会自动引用包含分隔符的字段,但这似乎只适用于默认分隔符“,”,如果你将其更改为“;”它不再引用包含“;”的字段
-
@ChiseledAbs:这听起来像是 csv 模块中的错误,但我无法重现您描述的行为;如果我创建一个
csv.writer(f, delimiter=';'),生成的对象会自动为我转义新的分隔符。正如 Jean 已经问过的那样,您能否创建一个导致 csv 模块无法正确转义分隔符的 Python 代码的MCVE?如果在某些情况下确实无法逃脱分隔符,则应该将其报告为错误。