python-3.x Pandas DataFrame,其值包含“;“

fiei3ece  于 2023-05-08  发布在  Python
关注(0)|答案(1)|浏览(138)

我试图使用Pandas打开一个csv文件,但由于行的结构,我无法打开。下面是一个例子:

10514";"BR";"Abaco";"976";"Insect;Repitile";"III";"12367

有两个问题:

  • 第一个和最后一个值的前后分别不带双引号
  • 有一个值可以包含的列“;,这也是csv分隔符

检查csv,我发现它的解码与'cp 1252'。下面是我尝试打开csv的方法:

dataframe = pd.read_csv(f'{local_path}/df_pf.csv', engine= 'python', encoding='cp1252', sep=';', header=0)

下面是它返回的错误:
pandas.errors.ParserError:“”后应为“;”
感谢您的关注!

enyaitl3

enyaitl31#

我修改了你的代码,你可以试试这个-

dataframe = pd.read_csv('df_pf.csv', engine='python', 
                        encoding='cp1252', sep=';', quotechar='"', 
                        escapechar='\\', 
                        quoting=csv.QUOTE_NONE, 
                        header=None)

您可以通过迭代和替换双引号来删除值中的双引号-

for col in dataframe.columns:
    dataframe[col_name] = dataframe[col_name].str.replace('"', '')

相关问题