文件读取数据

我们在工作或者学习中,会接触到很多存储大量数据的文本文件:经济数据、社会数据等。我们可以通过Python,编写一个程序,来读取文件的内容。

例如,我们首先先创建一个文件xiaojing.txt,并保存在程序所在目录中:




python读取CR3文件 python读取整个文件csv_Python


下面在Python中输入以下程序并读取文件:


python读取CR3文件 python读取整个文件csv_python读取文件_02


第一行,是一个open()函数,通过该函数来打开文件,open()接受一个参数——需打开的文件的名称,然后Python在程序所在的目录中找到该文件,然后通过函数open()返回一个表示文件的对象,并使用as语句将该对象保存在file_object变量中。第二行代码语句中,我们使用read()函数来读取这个文件的全部内容,并将其存储在变量contents中,通过使用print()打印该值,就可将该文本文件的内容显示出来。

文件路径

如果我们没有将文件存储在程序所在目录,那该怎么打开呢?那我们需要提供文件路径,让Python到特定的位置查找。例如,我们要打开放在桌面的一个文本文件xiaojing.txt:


python读取CR3文件 python读取整个文件csv_python读取txt文件_03


逐行读取

我们在读取文件时,如果想要逐行读取文件,可以对文件对象使用for循环,如下图所示:


python读取CR3文件 python读取整个文件csv_python读取文件_04


我们将要读取的文件名称存储在变量filename中,并调用open()函数,与上述内容一致,接着是使用for循环,遍历文件的每一行:

我们可以看到读取的结果中每一行都会出现一个空白行,是因为在这个文件中每行末尾都有一个换行符,print语句在打印时也会加上一个换行符,因此会出现两个换行符,如果要消除多余的换行符,可以在print语句中使用rstrip():


python读取CR3文件 python读取整个文件csv_python读取CR3文件_05


创建包含文件各行内容的列表

使用with关键字时候,通过函数open()返回的对象只能在with代码块中使用,如果要在其外使用的话,可以在with代码块内将文件各行存储在一个列表中,并在with代码块外使用列表。如下图所示,通过readlines()函数从文件中读取每一行存储在列表中,然后将列表存储在lines变量中。在with代码块外,我们使用for循环来打印出列表的每一行:


python读取CR3文件 python读取整个文件csv_python读取csv文件_06


使用文件的内容

我们在上一步已经将文件保存在一个列表里,接着我们创建了一个新变量xj用于存储文件,接着,我们使用for循环将各行都加入到xj变量中,并删除每行末尾的换字符,最后,打印最终文本以及其长度:


python读取CR3文件 python读取整个文件csv_python读取CR3文件_07