首页 > 解决方案 > 如何将特定的 csv 文件读入 pandas df?

问题描述

我在将文件 titanic.csv 读取到 pandas 数据框中时遇到问题。csv 由 分隔",",但是当我尝试使用以下代码读入 pandas 时:

df = pd.read_csv("titanic_train.csv")
df.head()

我遇到了所有值都在第一列结束的问题。我尝试添加delimiter=","读取命令,但仍然没有运气。

关于我要去哪里错的任何想法?非常感谢!

打印 .head() 时的 Df

标签: pythonpandascsv

解决方案


像其他人提到的那样,一个简单的 read_csv 应该对你有用。

以下是几种调试方法:

  1. 您可以运行下面的包罗万象的代码,看看它是否有效。
  2. 您可以将包含的字符串复制粘贴到文本文件中并尝试加载它。
  3. 您可以使用在线 python 编辑器,例如 google colab,以确保它与您的本地设置无关。
  4. 您可以将链接发布到 csv 以获得进一步的帮助。
import pandas as pd
from io import StringIO

sample=StringIO('''PassengerId,Survived,Pclass,Name,Sex,Age,SibSp,Parch,Ticket,Fare,Cabin,Embarked
1,0,3,"Braund, Mr. Owen Harris",male,22,1,0,A/5 21171,7.25,,S
2,1,1,"Cumings, Mrs. John Bradley (Florence Briggs Thayer)",female,38,1,0,PC 17599,71.2833,C85,C
3,1,3,"Heikkinen, Miss. Laina",female,26,0,0,STON/O2. 3101282,7.925,,S
4,1,1,"Futrelle, Mrs. Jacques Heath (Lily May Peel)",female,35,1,0,113803,53.1,C123,S
5,0,3,"Allen, Mr. William Henry",male,35,0,0,373450,8.05,,S
6,0,3,"Moran, Mr. James",male,,0,0,330877,8.4583,,Q
7,0,1,"McCarthy, Mr. Timothy J",male,54,0,0,17463,51.8625,E46,S
8,0,3,"Palsson, Master. Gosta Leonard",male,2,3,1,349909,21.075,,S
9,1,3,"Johnson, Mrs. Oscar W (Elisabeth Vilhelmina Berg)",female,27,0,2,347742,11.1333,,S
''')

df = pd.read_csv(sample)
print(df)

输出:

   PassengerId  Survived  Pclass  ...     Fare Cabin  Embarked
0            1         0       3  ...   7.2500   NaN         S
1            2         1       1  ...  71.2833   C85         C
2            3         1       3  ...   7.9250   NaN         S
3            4         1       1  ...  53.1000  C123         S
4            5         0       3  ...   8.0500   NaN         S
5            6         0       3  ...   8.4583   NaN         Q

推荐阅读