【问题标题】:Properly reading in a CSV file in pandas with double quotes用双引号正确读取 pandas 中的 CSV 文件
【发布时间】:2019-10-31 04:37:25
【问题描述】:

我有一个csv文件,其中每一行都用双引号引起来,其中第一个字段没有用双引号引起来,但所有其他字段都是这样 -

"Col1,""Col2"",""Col3"",""Col4"",""Col5"",""Col6"",""Col7"""

"1,""entry "",""entry "",""entry"",""entry"",""entry"",""entry"""
"2,""entry "",""entry "",""entry"",""entry"",""entry"",""entry"""

等等,我正在尝试将其读入熊猫数据框。所需的输出类似于 -

   Col1   "Col2" "Col3" "Col4"  "Col5" "Col6" "Col7"
0  1      entry  entry  entry   entry  entry  entry
1  2      entry  entry  entry   entry  entry  entry

我在终端上运行了以下命令 - 文件 'filename.csv',输出如下 - ISO-8859 文本,行很长,带有 CRLF 行终止符

我尝试了各种改变read_csv参数的方法,比如

input_data = pd.read_csv('filename.csv', sep = ',',encoding = 'iso-8859-1', engine = 'python')

它的输出是一个包含 2 列和 100 多行的数据框,其中第一列是空的,第二列包含我真正想要的所有数据,而实际上我想要一个 7 列和 100 行的数据框++ 行,类似于 -

Current Output

很遗憾,出于保密目的,我无法发布真实数据。

有人可以帮我吗?修复直观上感觉很简单,但我不确定我缺少什么?

【问题讨论】:

  • 发布至少 2 行 csv 数据和所需的输出
  • 很遗憾,出于保密目的,我无法发布数据。 当然可以,但您可以清理数据以避免出现保密问题。只需使用虚拟数据制作一个模拟 csv。
  • 仅供参考:this 是带有转义双引号的单个 python 字符串:"Col1,""Col2"",""Col3"",""Col4"",""Col5"",""Col6"",""Col7"""。我怀疑这实际上不是您的 CSV 内容,而是 print 声明的结果?
  • 嗨,我刚刚添加了当前输出的截图!感谢您的宝贵时间

标签: python pandas csv


【解决方案1】:

解决方案1.删除每一行的开始和结束“(双引号)并使用
input_data = pd.read_csv('temp.csv' , sep = ',' )

解决方案2.使用参数引用=3
input_data = pd.read_csv('temp.csv' , encoding = 'iso-8859-1', engine = 'python' ,sep = ',' , quoting =3)

解决方案 3. 从每个值中删除额外的“”(每列值将正是您想要的)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-15
    • 1970-01-01
    • 2018-07-29
    • 1970-01-01
    • 2021-09-30
    • 1970-01-01
    • 2013-07-22
    • 1970-01-01
    相关资源
    最近更新 更多