python读取文件—txt文件常用读写操作

2020-12-06  本文已影响0人  老A不加V

txt文件的打开的两种方式:

f = open("data.txt","r")   #设置文件对象

f.close() #关闭文件

为了方便,避免忘记close掉这个文件对象,可以用下面这种方式替代

with open('data.txt',"r") as f:    #设置文件对象

 str = f.read()    #可以是随便对文件的操作

一、读文件

1.简单的将文件读取到字符串中

f = open("data.txt","r")   #设置文件对象

str = f.read()     #将txt文件的所有内容读入到字符串str中

f.close()   #将文件关闭

2.按行读取整个文件

第一种方法

f = open("data.txt","r")   #设置文件对象

line = f.readline()

line = line[:-1]

while line:             #直到读取完文件

     line = f.readline()  #读取一行文件,包括换行符

     line = line[:-1]     #去掉换行符,也可以不去

f.close() #关闭文件

第二种方法

data = []

for line in open("data.txt","r"): #设置文件对象并读取每一行文件

     data.append(line)               #将每一行文件加入到list中

第三种方法

 f = open("data.txt","r")   #设置文件对象

 data = f.readlines()  #直接将文件中按行读到list里,效果与方法2一样

 f.close()             #关闭文件

3.按列读取文件

可以使用pandas的.read_csv,读取文件的时候可以给每一列起名字,通过列名来调取相应列的数据。

import pandas as pd

data = pd.read_csv(" OSDO1012.txt",sep=',',header=None, names=['lat','lon','time','z']

使用data.lat就可以读取名为lat这一列的数据

4.将文件读入数组中

 data = np.loadtxt("data.txt",skiprows = 1)   #将文件中数据加载到data数组里,并且跳过第一行

二、写文件

1.简单的将字符串写入txt中

 with open('data.txt','w') as f:    #设置文件对象

    f.write(str)                 #将字符串写入文件中

2.列表写入文件

(1)单层列表

data = ['a','b','c']

单层列表写入文件

with open("data.txt","w") as f:

    f.writelines(data)

(2)双层列表

第一种方法:

每一项用空格隔开,一个列表是一行写入文件

data =[ ['a','b','c'],['a','b','c'],['a','b','c']]

with open("data.txt","w") as f:                      #设置文件对象

     for i in data:                                    #对于双层列表中的数据

      i = str(i).strip('[').strip(']').replace(',','').replace('\'','')+'\n'  #将其中每一个列表规范化成字符串

     f.write(i)                      #写入文件

第二种方法:

直接将每一项都写入文件

data =[ ['a','b','c'],['a','b','c'],['a','b','c']]

with open("data.txt","w") as f:                    #设置文件对象

     for i in data:                                      #对于双层列表中的数据

          f.writelines(i)                            #写入文件

3.数组写入文件中

第一种方法:

np.savetxt("data.txt",data)     #将数组中数据写入到data.txt文件

第二种方法:

np.save("data.txt",data)        #将数组中数据写入到data.txt文件

上一篇下一篇

猜你喜欢

热点阅读