提取txt文件前多少行:
def read_save_txt(file_path, file_save, extract=10):
with open(file_path, 'r') as f:
item = []
cnt = 0
k = f.readlines() #一次读取所有行
for i in k: #一次取一行给i
cnt += 1
if cnt <= extract: #提取前多少行
for j in i.split(): #.split是将字符串分隔开,一次取一行中的一个字符串
item.append(j)
item.append('\t') #加上空格
item.append(str('\n'))
with open(file_save, 'w') as f:
for i in item:
f.write(str(i))
if __name__ == "__main__":
file_path = './2.txt'
file_save = './4.txt'
read_save_txt(file_path, file_save, 5) #文件路径 , 保存路径 , 提取前多少行
提取前多少行,以及列的范围(比如提取前五行,第3-5列的数据):
def read_save_txt(file_path, file_save, extract=10, col1=3, col2=5):
with open(file_path, 'r') as f:
item = [] #用来存储读取的字符
cnt = 0 #用来行的计数
k = f.readlines() #一次只读取所有行
for i in k: #一次取一行给i
cnt += 1
count = 0 #提取列的计数,每重新换行进行清零
if cnt <= extract: #提取前多少行,默认是10行
for j in i.split(): #.split是将字符串分隔开,一次取一行中的一个字符串
count += 1
if count >= col1 and count <= col2:
item.append(j)
item.append('\t') #加上空格
item.append(str('\n'))
print(item)
with open(file_save, 'w') as f:
for i in item:
f.write(str(i))
if __name__ == "__main__":
file_path = './2.txt'
file_save = './5.txt'
read_save_txt(file_path, file_save, 5, 3, 5) #文件路径 , 保存路径 , 提取前多少行 , 起始列, 终止列
要是对提取的数据进行一定范围的提取:用float(j)先将字符串转换成浮点数字再比较筛选。