读取一个在D盘的文本文件,文本文件内容为:50 89 77 66 55 88 23 68 73 55 123 777 536 876 99 。并对里面的所有值进行求和,求平均值。
试试。
import pandas as pd
df = pd.read_csv(r'd:\test.txt',header=None, sep=' ')
print(df)
num = len(df.columns) #个数
sum = df.apply(lambda x: x.sum(), axis=1)[0] #求和
ave = sum / num #求平均数
print(num, sum, ave )
def readlog(s):
with open(s, 'r', encoding='utf-8', errors='ignore') as f:
a=f.read()
print(a)
def readlineslog(s):
with open(s, 'r', encoding='utf-8', errors='ignore') as f:
ls = f.readline()
print(ls)
return ls
def tellPos(s, n):
if n == 0:
return 0
else:
c = 0
with open(s, 'r', encoding='utf-8', errors='ignore') as f:
while 1:
line = f.readline()
c += 1
if c == n or line == '':
break
pos = f.tell()
return pos
def readlinelog(s, startline , endline):
pos = tellPos(s,startline)
c=0
with open(s, 'r', encoding='utf-8', errors='ignore') as f:
f.seek(pos)
while 1:
line = f.readline()
print(line)
c += 1
if c >= endline - startline or line == '':
break
s = r'D:\text.txt'
ls = readlinelog(s,2,14)
print(ls)
直接上代码吧,有什么不对的,再给我留言
if __name__ == "__main__":
# 读取txt文件
s = "D:/data.txt"
with open(s, 'r') as f:
data = f.read().splitlines()
nums = [int(x) for x in data[0].split()]
_sum = sum(nums)
_mean = _sum / len(nums)
print("sum: ", _sum)
print("mean: ", _mean)
filename = r"D:\number_data.txt" # 文件名,可以换成自己的文件路径,文件路径可以在问津属性里找
with open(filename, 'r') as f: # 打开文件
lst = list(f.read().split()) # 以空格分隔数据,并将数据生成列表格式储存
print("文件中的数据有:", lst)
sum_number = 0 # 数据总和
for number in lst: # 遍历数据
sum_number += int(number) # 因为列表里的数据是字符串不能直接相加所以用int将数据转化为数值再相加
print("数据总和为:", sum_number)