导航:首页 > 净水问答 > python过滤非utf8

python过滤非utf8

发布时间:2022-10-15 18:37:39

『壹』 python的UTF-8问题

编码问题需要注意:

  1. 你的py文件是utf8编码的

  2. 在py文件开始的第一行加上 # -*- coding:utf-8 -*-

  3. 处理中文时,如果是自定义存储中文的变量,最好用 a = u'xx'形式

  4. 如果是其他来源,先decode('来源是什么编码'),再encode('utf-8')

『贰』 Python处理不同编码utf8和gbk的问题

有。
使用chardet库。它会去猜测文本文件的编码,并返回形如:
编码类型:utf-8
置信度:0.9
这样的结果,也就是说chardet断定该文件有90%的可能性是utf-8编码的。
不过chardet的缺陷就是,它不能完全100%确定文件的编码类型。
目前我的做法是,如果置信度超过0.95,那么就认定chardet的判断结果是正确的。否则,再加上一些人机交互操作进行判断。

目前,chardet库官网提供的版本只适用于Python 2,如果您使用的是Python 3.x,我可以另外上传一个。

『叁』 python pandas 过滤某列特殊字符求助

汉字也被替换掉了:utf-8
import numpy as np
import pandas as pd
import re
df=pd。
#coding;cidnum'.keyword = df,';)
发现结果把所有的非数字及字母全部替换掉了;;keyword')
df;/, '.str,';'[^a-zA-Z0-9_\]
#将双引号过滤掉
#将NA的替换掉g
df=df.keyword = df;;path'
df,'name'home/.keyword, '.replace(r;0'file_20150625'.fillna(')
r=u',header=None;cid'.str.lower()
i = 0
df, sep='.keyword,字母意外的所有特殊符号,数字;;u9fa5]'u4e00-\t'想过滤掉除文字。原因是什么啊.read_csv('.columns=[',具体解决方案如下:

解决方案1:
改成r="\W"试试

解决方案2:
=u'u4e00-\[^a-zA-Z0-9_\u9fa5]'
解决方案3:
你自己先要确定“乱码”的定义,例如韩文(unicode),如果你装了韩文字体,那是可以显示的,不是乱码,但没装的话就是问号一堆,如果是韩文
(euc-kr),在汉字系统那只是一堆无语义的汉字……可能这个举例扯远了,你觉得不会有这种情况,但我只是提醒一下会有意料之外的情况

所以,你需要一个白名单,把你允许的字符unicode范围都列出来,因为肯定不止汉字,像你列出的文件名中就有空格
另外,没必要逐个字符检查,直接用re.sub去除白名单外的字符就可以了

『肆』 如何设置python的编码格式为utf-8

重装了系统(ubuntu 14.04)原来正常可用的OpenERP项目在切换到开发者模式的时候报错:
UnicodeDecodeError: 'ascii' codec can't decode byte 0x?? in position 1: ordinal not in range(128)
而在服务器上的项目正常可用,其原因是由于python的默认编码设置为ascii,可以用以下命令查看:
import sys
sys.getdefaultencoding()
解决方案有两种:
1. 在项目启动文件中添加设置字符为utf8:
import sys
reload(sys)
sys.setdefaultencoding('utf8')
2. 在python的lib文件夹下的sitecustomize.py文件中添加代码:(我的文件位于/usr/lib/python2.7)
import sys
reload(sys)
sys.setdefaultencoding('utf8')
try:
import apport_python_hook
except ImportError:
pass
else:
apport_python_hook.install()
relaod(sys)一句是必须的

『伍』 怎么在Python里使用UTF-8编码

一个完整的开头应该是这个样子的:
#!
usr/bin/python
#coding=utf-8
//这句是使用utf8编码方式方法,
可以单独加入python头使用。
#
-*-
coding:cp936
-*-
import
sys
reload(sys)
sys.setdefaultencoding('utf-8')
sys.path.append("../pythonLib/")
import
os,
string
import
json
import
time
from
time
import
*
希望可以帮到你。

『陆』 python 判断一个字符能否用gbk和utf8编码

使用chardet库。它会去猜测文本文件的编码,并返回形如:
编码类型:utf-8
置信度:0.9
这样的结果,也就是说chardet断定该文件有90%的可能性是utf-8编码的。
不过chardet的缺陷就是,它不能完全100%确定文件的编码类型。
目前我的做法是,如果置信度超过0.95,那么就认定chardet的判断结果是正确的。否则,再加上一些人机交互操作进行判断。

目前,chardet库官网提供的版本只适用于Python 2,如果您使用的是Python 3.x,我可以另外上传一个。

『柒』 用Python 抓取的UTF8网页无法decode('utf-8')

估计就是个别字符有问题,即
本来标称utf-8,但是实际上个别字符不是utf-8,比如是gb2312
结果导致错误。
常见的解决办法是,添加ignore参数,比如:
decodedUnicodeHtml = yourHtml.decode("UTF-8", 'ignore')
就可以正常解码了。

更多相关内容可参考:
【总结】Python 2.x中常见字符编码和解码方面的错误及其解决办法

(此处没法发布地址,请自己google搜帖子标题,即可找到帖子地址)

『捌』 python读取文件解决‘utf8’ codec can’t decode byte 0xa1的问题

一般这种文件存在类似字符:

如果UTF-8搞不定,可以采取ISO-8859-1编码方式解决:

最早的编码是iso8859-1,和ascii编码相似。但为了方便表示各种各样的语言,逐渐出现了很多标准编码,重要的有如下几个。

很明显,iso8859-1编码表示的字符范围很窄,无法表示中文字符。但是,由于是单字节编码,和计算机最基础的表示单位一致,所以很多时候,仍旧使用iso8859-1编码来表示。而且在很多协议上,默认使用该编码。比如,虽然"中文"两个字不存在iso8859-1编码,以gb2312编码为例,应该是"d6d0 cec4"两个字符,使用iso8859-1编码的时候则将它拆开为4个字节来表示:"d6 d0 ce c4"(事实上,在进行存储的时候,也是以字节为单位处理的)。而如果是UTF编码,则是6个字节"e4 b8 ad e6 96 87"。很明显,这种表示方法还需要以另一种编码为基础。

需要说明的是,定长编码便于计算机处理(注意GB2312/GBK不是定长编码),而unicode又可以用来表示所有字符,所以在很多软件内部是使用unicode编码来处理的,比如java。

注意,虽然说utf是为了使用更少的空间而使用的,但那只是相对于unicode编码来说,如果已经知道是汉字,则使用GB2312/GBK无疑是最节省的。不过另一方面,值得说明的是,虽然utf编码对汉字使用3个字节,但即使对于汉字网页,utf编码也会比unicode编码节省,因为网页中包含了很多的英文字符。

阅读全文

与python过滤非utf8相关的资料

热点内容
污水处理厂污泥处理处置工作 浏览:462
将船底水抽入污水厂的设备叫什么 浏览:94
纯水是多少 浏览:837
1188自交联水性树脂 浏览:878
污水处理厂决算 浏览:154
航空用环氧树脂胶 浏览:400
河道污水治理工程开什么发票 浏览:883
换个机油滤芯空调滤芯多少钱 浏览:674
煤灰水处理 浏览:133
反渗透膜低压和高压膜的区别 浏览:751
东风雪铁龙18款空气滤芯怎么拆 浏览:512
宝来空调滤芯盖怎么装上去 浏览:784
污水处理费代征费的必要 浏览:7
电氧化污水基板用什么材料好 浏览:651
鸡蛋膜是半透膜吗 浏览:109
2015年哈弗空调滤芯怎么拆 浏览:836
东莞大型纯水设备多少钱一套 浏览:405
反渗透膜行业发展 浏览:285
上海什么品牌的全屋净水好 浏览:903
污水进家什么兆头 浏览:230