关于Python读取TXT数据的信息
Python 如何优雅地读取TXT文件的内容
def?loadData(path):
????data=list()
????with??open(path,'r')?as?fileReader:
????????lines?=?fileReader.readlines()??#?读取全部内容
????????for?line?in?lines:
????????????line?=?line.strip()
????????????line?=?line.split("\t")#根据数据间的分隔符切割行数据
????????????data.append(line[:])
????data=np.array(data)
????data?=?data.astype(float)
????np.random.shuffle(data)
????label=data[:,0]
????features=data[:,1:]
????print("data?loaded!")
????return?features,label-1

python读取文件—txt文件常用读写操作
f = open("data.txt","r")? ?#设置文件对象
f.close() #关闭文件
为了方便,避免忘记close掉这个文件对象,可以用下面这种方式替代
with open('data.txt',"r") as f:? ? #设置文件对象
?str = f.read()()? ? #可以是随便对文件的操作
f = open("data.txt","r")? ?#设置文件对象
str = f.read()? ???#将txt文件的所有内容读入到字符串str中
f.close()? ?#将文件关闭
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()? ?? ?? ?? ? #关闭文件
可以使用pandas的.read_csv,读取文件的时候可以给每一列起名字,通过列名来调取相应列的数据。
import pandas as pd
data = pd.read_csv(" OSDO1012.txt",sep=',',header=None, names=['lat','lon','time','z']
使用data.lat就可以读取名为lat这一列的数据
?data = np.loadtxt("data.txt",skiprows = 1)? ?#将文件中数据加载到data数组里,并且跳过第一行
?with open('data.txt','w') as f:? ? #设置文件对象
? ? f.write(str)? ?? ?? ?? ?? ???#将字符串写入文件中
data = ['a','b','c']
单层列表写入文件
with open("data.txt","w") as f:
? ? f.writelines(data)
每一项用空格隔开,一个列表是一行写入文件
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)? ? ? ? ? ? ? ? ? ? ? ? ? ? #写入文件
np.savetxt("data.txt",data)? ???#将数组中数据写入到data.txt文件
np.save("data.txt",data)? ?? ???#将数组中数据写入到data.txt文件
python怎样读取txt文件的数据内容
我们使用python的时候经常需要读取txt文件中的内容,那么该如何读取呢?下面我给大家分享一下。
01
首先我们新建一个txt文件,在里面写入一些内容,如下图所示
02
接下来打开运行界面,输入CMD命令,如下图所示
03
然后进入CMD界面以后我们输入python命令进入python环境,如下图所示
04
最后我们通过python中的open方法打开txt文件,然后通过read方法读取文件内容,如下图所示
python读取TXT内容后怎么计算里面数据?
不公用panda,所以直接用列表和字典来写
#最终统计后的结果,字典格式
products = {}
#读取的记录,列表格式
records = []
#读取文件的每一行,列表格式
lines = []
#读取文件,将所有内容写入列表records
with open("productinfo.txt","r") as f:
#循环读取
while True:
line = f.readline()
#读到结尾退出循环
if not line:
break
#如果每行的内容结尾有换行符就舍去
if line[-1] == '\n':
line = line[:-1]
#把每行的数据以逗号为标志分割
lines = line.split(',')
#把分割的数据追加到列表
records.append(lines)
#遍历读到的结果,将结果经过计算后写入字典products
for record in records:
#每条记录的第一项作为字典的KEY,如果这个KEY在字典中就在基础上增加值
if record[0] in products:
products[record[0]]['total_sales'] += eval(record[2])
products[record[0]]['total_money'] += eval(record[1]) * eval(record[2])
#如果这个KEY不在字典,就设置为record原值
else:
products[record[0]] = {'total_sales':eval(record[2]),'total_money':eval(record[1]) * eval(record[2])}
#排序
sales=sorted(products.items(), key=lambda x:x[1]['total_sales'])
print("最大销量商品编号:", sales[-1][0],"销量:",sales[-1][1]['total_sales'])
print("最低销量商品编号:", sales[0][0],"销量:",sales[0][1]['total_sales'])