python - 从字符串中删除每个非 utf-8 符号

我有大量的文件和解析器。我要做的是剥离所有非 utf-8 符号并将数据放入 mongodb。 目前我有这样的代码。

with open(fname, "r") as fp:
    for line in fp:
        line = line.strip()
        line = line.decode('utf-8', 'ignore')
        line = line.encode('utf-8', 'ignore')

不知何故我仍然得到一个错误

bson.errors.InvalidStringData: strings in documents must be valid UTF-8: 
1/b62010montecassianomcir\xe2\x86\x90ta0\xe2\x86\x90008923304320733/290066010401040101506055soccorin

我不明白。有什么简单的方法吗?

UPD:似乎 Python 和 Mongo 不同意 Utf-8 有效字符串的定义。

最佳答案

试试下面的代码行而不是最后两行。希望对您有所帮助:

line=line.decode('utf-8','ignore').encode("utf-8")

https://stackoverflow.com/questions/26541968/

相关文章:

mongodb - MongoDB 中的 replaceOne() 和 updateOne() 有什

node.js - mongo 可以 upsert 数组数据吗?

mongodb - 一个数据库的 Mongorestore 给我带来了麻烦

mongodb - MongoDB可靠吗?

mongodb - 如何通过一次调用将一组对象推送到 Mongoose 中的数组中?

python - Django session

node.js - Mongoose:模式与模型?

mongodb - 是否可以展平 MongoDB 结果查询?

mongodb - 执行 mongoexport 时 "too many positional op

mongodb - Mongoose 和独特的领域