怎么使用Python中的csv库和codecs库来查找.csv文件中的不兼容 utf-8 字符
时间: 2023-05-22 17:03:54 浏览: 61
你可以使用以下代码:
```python
import csv
import codecs
# 打开文件,使用 codecs 库指定 utf-8-sig 编码以去除 BOM(字节顺序标记)。
with codecs.open('example.csv', 'r', encoding='utf-8-sig') as f:
reader = csv.reader(f)
for row in reader:
try:
# 尝试将每个元素都解码为 utf-8
row = [cell.encode('utf-8').decode('utf-8') for cell in row]
print(row)
except UnicodeDecodeError:
# 如果出现解码错误,则说明存在不兼容 utf-8 的字符,将其忽略。
pass
```
这段代码可以打开 example.csv 这个文件,使用 codecs 库指定 utf-8-sig 编码以去除 BOM(字节顺序标记),然后使用 csv 库的 reader 方法读取文件。在循环中,我们尝试将每个元素都解码为 utf-8,如果出现解码错误,则说明存在不兼容 utf-8 的字符,将其忽略。最后打印出每行数据。
注意:这里的代码中使用了 try/except,这是为了处理存在不兼容 utf-8 的字符时不出错,如果你要在应用中使用这段代码,应该根据具体需求进行相应的处理。