Windows环境下解析CSV生成SysML v2文件出现NBSP/SPA特殊字符的问题求助
Windows环境下解析CSV生成SysML v2文件出现NBSP/SPA特殊字符的问题求助
我目前正在解析CSV文档,以此生成SysML v2格式的文本文件。在Linux环境下操作时,生成的文件完全符合预期,用SysOn-Docker打开和读取都没有任何问题。
但切换到Windows环境后,生成的文件里出现了NBSP和SPA这两个特殊字符——这些字符导致Windows上的SysOn-Docker无法正常读取文件,可同样的文件在Linux环境下却能被正常处理(截图中可以清晰看到这些特殊字符的存在)。
为了解决这个问题,我尝试了多种不同的文件写入方式,包括:
- 使用基础的
open函数写入 - 用
codecs.open指定utf-8-sig编码写入 - 通过
io.open指定utf-8编码写入
对应的代码如下:
with open(filename, "w") as text_file: text_file.write(systring) with codecs.open(filename, "w", "utf-8-sig") as text_file: text_file.write(systring) with io.open(filename, 'w', encoding="utf-8") as file: file.write(systring)
可惜的是,不管用哪种方式,生成的文件里依然存在那些特殊字符,完全没有改善。
现在我在考虑直接用字符串的.replace方法手动移除这些特殊字符,但总觉得这不是最规范的解决方案。想请教大家,有没有更合适的处理方式来从根源上避免这些特殊字符的出现?
备注:内容来源于stack exchange,提问作者Qohelet
相关产品推荐
相关产品推荐

