首页 文章

Python - 识别数据框中的非ascii字符

提问于
浏览
0

Goal :需要一个进程来识别各种csv文件中的非ascii字符

我有一些数据中包含非ascii字符的csv文件(例如,数千个中的一个或两个员工ID将具有随机的非ascii字符) . 我想识别这些用于清理,但是当我尝试读取csv时我得到一个unicode错误,我认为这是由于非ascii字符相同 . emp_id列通常是一个数字,我在这个例子中将它转换为字符串,因为我正在使用的函数不适用于整数 . 我需要能够将此代码应用于字符串和整数 .

import pandas as pd 
import numpy as np 
isascii = lambda s: len(s) ==len(s.encode())

df = pd.read_csv("C:\\python_files\\data.csv", dtype={'EMP_ID': object})

for x in df['EMP_ID']:
    if not isascii(x):
        print(x)

Error

UnicodeDecodeError: 'utf-8' codec can't decode byte 0x85 in position 3: invalid start byte

Sample Data
EMP_ID
34998
34994
A2…
04™Œ
00`,
99999

1 回答

  • 0

    您应该在 read_csv 代码中添加 encoding

    df = pd.read_csv("C:\\python_files\\data.csv", dtype={'EMP_ID': object}, encoding='utf8')
    

相关问题