文本文件可存储的数据量多、每当需要分析或修改存储在文件中的信息时,读取文件都很有用,对数据分析应用程序
处理文件,让程序能够快速地分析大量的数据
处理文件和保存数据可让你的程序使用起来更容易
一、从文件中读取数据
1)读取整个文件:
先创建一个任意的文本文件,设置任意行,任意个数据,命名为data.txt,如下所示:
415926535897 932384626433 832795028841 9716939 937510 234 321
打开data.txt,并读取到程序中
with open(\'data.txt\') as file_object: #方法open() 打开文件 ,并且接受一个参数,即要打开的文件的名称 contents = file_object.read() #方法 read() 读取这个文件的全部内容,并将其作为字符串存储在变量 contents 中 print(contents) #打印字符串contents
执行结果如下:
415926535897 932384626433 832795028841 9716939 937510 234 321
2)文件路径
上述 open(\'data.txt\') 其中data.txt文件必须和.py模块(文件)放在同一个文件夹中,为方便打开其他文件,可以使用相对文件路径和 绝对文件路径。
#使用绝对路径打开文件 file_path = \'E:\\WorkSpace\\python\\coding\\data.txt\' #使用绝对路径,可读取系统任何地方的文件 with open(file_path) as file_object: contents = file_object.read() print(contents)
3)逐行读取
上述都是一次读取data.txt中的内容,读取文件时,可能需要检查其中的每一行或者查找特定的信息,或者要以某种方式修改文件中的文本,可使用 for 循环以每次一行的方式检查文件。
filename = \'E:\\WorkSpace\\python\\coding\\data.txt\' with open(filename) as file_object: for line in file_object: print(line.rstrip()) #消除多余的空白
4)使用列表来存取读入的行,其中每一行相当于列表的一个元素。(重新创建了一个pi.txt的文本,里面有若干行数字。)
pi.txt文件内容如下:注意,前后有空格
3.14159265358979323846264338 32795028841971693993751058 20974944592307816406286208 99862803482534211706791201 611596
程序如下:
#创建一个包含文件各行内容的列表 filename = \'pi.txt\' with open(filename) as file_object: lines = file_object.readlines() #方法 readlines() 从文件中读取每一行,并将其存储在一个列表中 for line in lines: # for 循环来打印 lines 中的各行 print(line.strip()) #方法strip()去除每行首尾的空格。
5)使用文件的内容,将文件读取到内存中后,就可以以任何方式使用这些数据。
filename = \'pi.txt\' with open(filename) as file_object: lines = file_object.readlines() #方法 readlines() 从文件中读取每一行,并将其存储在一个列表中 #上述代码完成后,结果应该为:lines=[\'3.141592****\',\'32795028841971\',\'20974944592\',]形式 pi_string = \'\' #定义一个空字符串 for line in lines: # for 循环来将lines中的各元素连接起来 pi_string += line.strip() #strip()用来消除每个元素(txt文件中的每行)首尾的空白行 print(line.strip() ) print(pi_string) #打印连接好的字符串 print(len(pi_string)) #求字符串的长度
运行结果:(注意每行前后的空格已经消除,strip()方法的作用)
3.14159265358979323846264338 32795028841971693993751058 20974944592307816406286208 99862803482534211706791201 611596 3.14159265358979323846264338327950288419716939937510582097494459230781640628620899862803482534211706791201611596 112
未完待续
来源:https://www.cnblogs.com/codingchen/p/16177091.html
本站部分图文来源于网络,如有侵权请联系删除。