使用分隔符导入时,大熊猫缺少行=“|”
问题描述:
我有一个包含51,347行的数据集。当使用熊猫导入数据并将分隔符设置为“|” ,我输了394排。使用分隔符导入时,大熊猫缺少行=“|”
import pandas as pd
df = pd.read_csv("Basin11.txt", sep='|', error_bad_lines=False,
dtype={'Start Date': str, 'Greater Than/Less Than': str,
'Parameter Code': float, 'Start Time': str, 'Start Depth': float, 'Composite Category': str,
'Composite Type': str})
print(len(df.index))
如果删除在SEP变量,数据将不加载为多个列,但将加载的行的适当数量。它似乎只是这个文件的一个问题。 Basin11.txt File
有谁知道我为什么会丢失数据?
答
我开始浏览您的输入文件,发现一些可能导致“缺失行”的错误。
评论行3491和9805有一个开头"
但缺少结束"
。这会导致匹配问题,包括以下行作为评论主体的一部分。当我开始修复这些问题时,线数开始增加。这可能有更多的情况。
此外,有些行还有用于打开和关闭注释的双引号(""
)。例如:
“” 绿色,中值潮,10-15英里的风 “”
编辑:我添加以下代码:
for comment in df['Comments'].values:
print(comment)
然后跑python3 sample.py | grep '|' | wc -l
,找到包含|
,并得到394(你缺少的行数)的评论数
+0
谢谢修复!然后我需要将参数quoting = 3添加到read_csv文件中。 – Will
我会想象大约394行有“自由”的文字列正在翻译|翻译|翻译,而error_bad_lines = False默默地忽略那些行 – Boud
我试过删除error_bad_lines = False,但它对长度没有影响。除了sep ='|'之外,我们单独删除了每个参数,但没有任何效果。 – Will