我有一个json设置文件,其中包含我的脚本的设置。部分设置是csv.writer()
的分隔符。
当它被读入变量settings
并打印出来时,给我这个:{'delimiter': u','}
当我尝试在csv.writer(out, **settings)
中使用此功能时出现以下错误:TypeError: "delimiter" must be an 1-character string
。
现在要解决这个问题,我会这样做:settings["delimiter"] = settings["delimiter"].encode("utf-8")
...但是我想知道是否有一种方法我可以首先阅读这个文件,这意味着我没有做到这一点?
编辑:
设置文件的读取方式如下:
with open(file) as settings:
details = json.load(settings)
答案 0 :(得分:1)
不,JSON标准始终使用unicode(这是一件好事)。 json
库没有选项,缺少子类化解码器,而是切换到返回的字节串。
只需对分隔符进行编码。