我有一个csv文件,其行如下所示: 87.89," 2,392.05",14.77,373.2 (第三行有昏迷千分隔符)
pandas继续将第二列中的逗号视为行分隔符并显示"错误标记数据"错误。
在pandas中有没有可以忽略双引号之间的coma? 谢谢示例行:
9999992613813558569,87.89,"2,392.05",14.77,373.2
9999987064038821584,95.11,"3,397.04",42.15,"1,461.14"
9999956300203713283,6.67,194.02,41.23,"1,105.45"
9999946809576027532,15.08,353.84,29.43,591.9
修改
我已经尝试过了:
read_csv(file, quotechar='"', encoding='latin1', thousands=',')
read_csv(file, quotechar='"', encoding='latin1', escapechar ='"')
答案 0 :(得分:2)
尝试阅读:
json_encode($result);
包含这些内容的每个列都将被视为类型pd.read_csv(myfile, encoding='latin1', quotechar='"')
。
一旦你得到这个,回到浮动使用:
object
或者你可以尝试:
df = df.apply(lambda x: pd.to_numeric(x.astype(str).str.replace(',',''), errors='coerce'))
在这里,您可以看到原始pd.read_csv(myfile, encoding='latin1', quotechar='"', error_bad_lines=False)
中遗漏的内容 - 导致问题的原因。
对于省略的每一行,您将收到csv
而不是Warning
。
答案 1 :(得分:0)
这对我有用:
pd.read_csv(myfile, encoding='latin1', quotechar='"', thousands=',')