【发布时间】:2022-12-09 05:47:20
【问题描述】:
我正在处理一个巨大的 csv 文件(>300 万行,76 列),并决定在转换为熊猫数据帧之前使用 dask 读取数据。
但是,我遇到了一个问题,即最后一列中的列出血。请参阅下面的代码和错误。
import dask.dataframe as dd
import pandas as pd
dataframe = dd.read_csv("SAS url",
delimiter = ",",
encoding = "UTF-8", blocksize = 25e6,
engine = 'python')
然后查看我使用的所有列是否都存在
dataframe.columns
使用时
dataframe.compute()
我看到以下错误:
使用 read_csv 参数 error_bad_lines = False 时,它显示许多行有 77 或 78 个字段,而不是预期的 76 个。
注意:遗憾的是,忽略这些错误的行不是一种选择。
我正在寻求的解决方案
有没有办法保留所有字段并在必要时将这些额外字段附加到新列?
【问题讨论】:
-
要做什么取决于为什么这些行有额外的“列”。是因为它们实际上具有额外的价值吗?或者是不是某些值包含定界符并且没有正确引用它们。如果是后者,那么你对这些行的问题不仅仅是几个额外的值。对于格式不正确的行,您真的不知道应该将哪些值放入哪些变量中。
标签: python pandas dask-dataframe