如何使用Pandas读取带头文件的CSV?

159 阅读3分钟

虽然Python可以用来分析数据,但它本身并不具备应该被分析的数据集的来源。所有这些数据集都要从其他地方获得,并被输入到Python中,以实现神奇的效果。我们将探索一种使用Python内置功能将数据导入的技术。本文感兴趣的文件也有点特殊--一个带头文件的CSV文件

我们将使用下面的数据集来演示操作的顺序,其中每一行的条目都由 "tab "来分隔。让我们开始吧!

用于演示的文本文件


导入Pandas

我们应该通过使用下面的代码将Pandas库导入活动的Python窗口来开始工作:

import pandas as pd

完成后点击回车,等待片刻,软件会在后台加载 "Pandas "库。这可以从每行代码前面的箭头中看出。在 "潘达 "完全加载之前,这些箭头不应出现在新的一行。

当Pandas正在加载时没有箭头

只有在潘达成功加载后,这些箭头才会出现,如下图所示。

Pandas加载完毕后出现的箭头


使用read_csv()来读取带头文件的CSV文件

CSV代表的是逗号分隔的值。你问的是哪些值--那些在文本文件中的值!

它的意思是,文本文件中的值用逗号隔开,将一个条目与另一个条目隔开。虽然它只说了 "逗号 "作为分隔符,但CSV广泛用于表示文本文件,其中的分隔符或空格或甚至冒号,等等。

以下是read_csv()的语法

df = pd.read_csv(“filename.txt”,sep=”x”, header=y, names=[‘name1’, ‘name2’…])

其中:

  • df - 数据框架

  • filename.txt - 要导入的文本文件的名称。

  • x - 在.csv文件中使用的分隔符的类型。

    • "/t" - 选项卡

    • "," - 逗号

    • ""--空格,以此类推

  • y - 数据中的头的类型

    • None - 如果第一行的条目不是标题的话
    • 0 - 如果第一行中的条目是标题

现在我们将应用这个语法从本文前面所示的文本文件中导入数据。

filename.txt "被 "Sales Data.txt "取代,"x "被"\t "取代,y被0(零)取代,因为数据包含一个标题行。在这些替换之后,产生的代码应如下:

df = pd.read_csv("Sales Data.txt", sep="\t", header=0)

点击回车键,如果在完全沉默的片刻后出现箭头,就可以知道没有任何错误了。

箭头出现了!

箭头告诉我们,数据已经成功地导入了Python,但是如果我们不偷偷地看一看,会不会让我们感到满意呢?

Python中的print()命令可以达到这个目的。现在可以使用 read_csv() 命令查看数据帧,数据被加载到这个数据帧中:

print(df)

在输入上述内容后点击回车键 ,导入的数据将显示如下。

查看导入的数据

还需要注意的是,即使代码中跳过了header=0,read_csv()也被设置为默认选择0作为标题(即第一行作为标题),这样导入的数据就会考虑到这一点。

使用默认页眉设置导入数据


摘要

现在我们已经到了这篇文章的结尾,希望它已经阐述了如何在Python中使用Pandas读取带头信息的CSV文件。下面是另一篇文章,详细介绍了Pandas中fillna()方法的用法。在AskPython中还有许多其他有趣的、同样内容丰富的文章,可能对那些希望提高Python水平的人有很大帮助。