使用 Pandas 读取 CSV 时出错

Errors reading CSV with Pandas

我有一个包含 1 亿行的数据集需要分析。我使用这个函数来读取文件:

csv2020=pd.read_csv('filename.txt',
                    sep="\t",
                    error_bad_lines=False,
                    usecols=['field1', 'field2', 'field3', 'field4'],
                    dtype={'field1': int,'field2': float, 'field3': float, 'field4': float})

但是我收到一条关于无法转换为浮点数的行的错误:

ValueError:无法将字符串转换为浮点数:'ORCH'

我想省略任何发生此错误的行,但我不知道除了 error-bad-lines 参数之外的方法。帮忙?

谢谢!

您尝试导入为浮点数的某些列包含字符串,因此无法转换。

先阅读没有“dtype....”的 CSV,然后查看您的数据框

error_bad_lines 选项不是用于此目的,它仅适用于不正确数量的字段。

不使用 dtype 选项读取您的文件,然后使用 pandas.to_numericerrors='coerce' 选项进行转换:

df = pd.read_csv(…)
df['field1'] = pd.to_numeric(df['field1'], errors='coerce')
df['field2'] = …