Python pandas 定界符打印错误 - 双符号

标签 python pandas csv delimiter

这是我打开文件的代码:

df = pd.read_csv(path_df, delimiter='|')

我收到错误:标记化数据时出错。 C 错误:第 13571 行应有 5 个字段,结果为 6

当我检查这一行时,我发现有一个打印错误,有 3 个符号“|||”而不是一个。我更愿意将双重和三重标志视为一个。可能还有其他解决方案。

我该如何解决这个问题?

最佳答案

使用正则表达式分隔符[|]+ - 一个或多个|:

import pandas as pd

temp=u"""a|b|c
ss|||s|s
t|g|e"""
#after testing replace 'pd.compat.StringIO(temp)' to 'filename.csv'
df = pd.read_csv(pd.compat.StringIO(temp), sep="[|]+",engine='python')

print (df)
    a  b  c
0  ss  s  s
1   t  g  e

关于Python pandas 定界符打印错误 - 双符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53629030/

相关文章:

MySQL 将错误的数据类型导入 VARCHAR 列

python - 如何使用开放的 AI Clip 模型计算给定 2 个图像的图像相似度 - 哪种方法/AI 模型最适合计算图像相似度?

python - 将字典中的值从字符串转换为浮点型

python - 在对 pandas 的 DataFrame 进行切片后,如何更新 pandas MultiIndex 的级别?

python - Groupby 并在 Python 的两列中查找相似或相同的项目

python - 使用 UTF-8 编码创建新的 csv

python - `train=True` 在 H2O model_performance() 中的作用是什么?

python - `try... except Exception as e` 是否捕获所有可能的异常?

pandas - 更改日期时间索引中的特定日期

java - 从 csv 中删除重复项并在 Java 中对它们进行计数