Python添加引号的ASCII编码疑问及Excel CSV特殊字符问题咨询
问题1解答
- 你当前代码中使用的
"是HTML格式的双引号实体,未经过HTML解析的前提下,直接运行代码后存入DataFrame的是"这6个字符组成的字符串,并非单个半角双引号字符,因此不会对应ASCII十进制34、十六进制22的编码。 - 如果你需要添加标准半角双引号,将代码修改为如下写法即可,此时生成的双引号编码符合你说的数值:
df['Address'] = '"' + df['Address'].astype(str) + '"'
问题2解答
你遇到的是Excel自动更正功能的默认行为:
- 十进制148、十六进制94的字符不属于标准ASCII(标准ASCII编码范围是0-127),是Windows-1252(西方地区Windows系统默认ANSI编码)编码集中的右弯双引号,也叫智能右引号,属于排版专用引号。
- Excel默认开启了「直引号自动替换为弯引号」的规则,你输入的半角直引号会被自动替换为符合排版规范的左右弯引号,就会出现你观察到的编码问题。如果需要禁用该规则,可以在Excel选项的自动更正设置中,关闭「直引号替换为弯引号」的选项即可。
内容的提问来源于stack exchange,提问作者Mizanur Choudhury
相关产品推荐
相关产品推荐

