【问题标题】:Whole csv file opens as one column?整个 csv 文件作为一列打开?
【发布时间】:2021-03-14 21:46:30
【问题描述】:

enter image description here我正在尝试学习熊猫,但是当我导入包含逗号以外的符号的数据时,我无法分隔列。下面是数据示例: 如果有不清楚的地方,请告诉我。 谢谢。

HP,250 G6,Notebook,"15.6""",Full HD 1920x1080,Intel Core i5 7200U 2.5GHz,8GB,256GB SSD,Intel HD Graphics 620,No OS,,1.86kg,"575,00"

【问题讨论】:

  • 欢迎来到 SO!请将您的数据的最小示例粘贴为您的帖子中的内嵌文本,而不是图像。
  • 你能告诉我们你的代码吗?
  • laptops=pd.read_csv("/Users/perviz/Desktop/laptops.csv",encoding='Latin-1')
  • 我没有写任何其他内容,因为在 Dataquest 上使用相同的代码,我得到了单独的列。
  • 对于具有不同分隔符的文件,使用pd.read_csv 上的delimiter(或sep)参数来告诉函数使用什么。看看答案here

标签: python pandas dataframe csv


【解决方案1】:

使用 laptops.csv 如下:

Maker,Model, Type,    Screen Size, Resolution,       Processor,                 RAM, Storage,  Graphics,             OS,    Huh, Weight, Price
HP,   250 G6,Notebook,"15.6""",    Full HD 1920x1080,Intel Core i5 7200U 2.5GHz,8GB, 256GB SSD,Intel HD Graphics 620,No OS,    ,1.86kg,"575,00"

和Python代码如下:

import pandas as pd 

laptops = pd.read_csv("laptops.csv")
print(laptops)  

我得到如下输出:

  Maker      Model      Type  ...     Huh  Weight   Price
0    HP     250 G6  Notebook  ...          1.86kg  575,00

[1 rows x 13 columns]

似乎一切正常...我在 CSV 中添加了一个“标题”行,因为您没有提供实际的 CSV 示例。然而,即使没有这个,只使用您提供的一行,Pandas 仍然可以获得列。我尝试将 encoding='Latin-1' 添加到 read_csv 行,它会生成相同的输出。

【讨论】:

  • 谢谢你的回复,我没有。了解问题背后的原因
  • 据我所见,似乎没有问题。也许这是特定于您的数据的内容,而您提供的示例数据中没有体现出来……如果您可以提供更多行的 CSV 文件,我很乐意为您试一试。跨度>
猜你喜欢
  • 1970-01-01
  • 2012-08-09
  • 1970-01-01
  • 1970-01-01
  • 2023-03-11
  • 1970-01-01
  • 1970-01-01
  • 2018-03-30
  • 1970-01-01
相关资源
最近更新 更多