带双引号的熊猫数据

新手上路,请多包涵

我正在尝试读取 .csv 格式的大型数据集,该数据集会使用 pandas 库自动更新。问题是在我的数据中,第一行是没有双引号的字符串,其他列都是有双引号的字符串。我无法手动调整 .csv 文件。

一个简化的数据集看起来像这样

  1. A B C D”
  2. comp_a,“树”,“房子”,“门”
  3. comp_b,“卡车”,“红色”,“蓝色”

我需要将数据存储为单独的列,不带引号,如下所示:

  1. A B C D
  2. comp_a 树屋门
  3. comp_b卡车红蓝

我尝试使用

import pandas as pd
df_csv = pd.read(path_to_file,delimiter=',')

这给了我完整的标题作为最后一列的单个变量

  1. A B C D”
  2. comp_a“树”“房子”“门”
  3. comp_b“卡车”“红色”“蓝色”

最接近我需要的结果是使用以下

df_csv = pd.read(path_to_file,delimiter=',',quoting=3)

它正确识别每一列,但添加了一堆额外的双引号。

  1. “A B C D”””
  2. “comp_a”“树”“”“房子”“”“门”“”
  3. “comp_b ““truck”” ““red”” ““blue”“”

将引用设置为 0 到 2 之间的值只会将整行读取为单个列。

有谁知道我在阅读 .csv 文件时如何删除所有引号?

原文由 Gerrit 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 696
2 个回答

只需使用 --- pd.read_csv() 加载数据,然后使用 .replace('"','', regex=True)

在一行中它将是:

 df = pd.read_csv(filename, sep=',').replace('"','', regex=True)

要设置列名称:

 df.columns = df.iloc[0]

并删除第 0 行:

 df = df.drop(index=0).reset_index(drop=True)

原文由 Federico Gentile 发布,翻译遵循 CC BY-SA 4.0 许可协议

您可以在 " read_csv 并使用 df_csv.to_csv('fname')

 df_csv.apply(lambda x:x.str.replace('"', ""))

原文由 Nihal 发布,翻译遵循 CC BY-SA 4.0 许可协议

推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏