浅谈Python批处理文件夹中的txt文件

1 文件处理形式 

近期由于处理大量数据,所以对于采用python进行处理文件的一些操作也打算整理一下;接下来主要说一下如何处理目录下的一系列txt文件。首先看一下我们将要处理目录下的15个类似的数据文件,其中提取的数据如图所示,以及在读写文件时所需要的关键词,可以让程序正确读写相应的数据

2.代码段-python

接下来就是贴出相应的python代码,具体一些关键的注释我已经标注好了,具体数据结果就不展示了,如果大家想拿我的数据进行测试联系我就好,但是一般情况下在我标注的地方进行相应的修改就好,希望有啥不懂得大家可以一起交流。

import os
import numpy as np

def eachFile(filepath):
	j=0
	pathDir = os.listdir(filepath)  #获取当前路径下的文件名,返回list
	for s in pathDir:
		newDir=os.path.join(filepath,s)  #将文件名写入到当前文件路径后面
		if os.path.isfile(newDir): #如果是文件
		  if os.path.splitext(newDir)[1]==".txt": #判断是否是txt
		    readFile(newDir)
		    j=j+1
		    print(j)
		    pass
		  else:
		  	break

def readFile(filepath):
	index=0         #控制数据存入不同的list
	with open(filepath,"r") as f:
		line=f.readline()
# 		print(line)
		while line:
			if line[:9]==' cell 10':   #根据关键词抽取数据
				f.readline()
				index=index+1
				for i in range(126):    #抽取的数据格式
					energy,f4,error=f.readline().split()
					if(index==1):
						list_total.append(f4)
					elif(index==2):
						list_electron.append(f4)
					else:
						list_positron.append(f4)
			line=f.readline()

def main():
	global list_total,list_electron,list_positron   #定义全局变量,可以将所有数据都存入list中
	fp=r'F:\\MCwork\\MCCM\\scripts\\filesworks' #存放数据的目录
	os.chdir(fp)
	eachFile(fp)
	output =open("flux.txt",'w')  #将list存入相应的文件中,便于后期处理数据
	listdata_total=list(np.reshape(list_total,(15,126)).T)  #改变数组维度,存储
	for i in range(126):           #数据读入相应文件的第一种方法,第一篇博客有介绍
		for j in range(15):
			output.write(listdata_total[i][j]+' ')
			output.write('\t')
		output.write('\n')
	output.close()

if __name__ == '__main__':
	list_electron=[]
	list_total=[]
	list_positron=[]
	main()
 

以上所述是小编给大家介绍的Python批处理文件夹中的txt文件详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • Python写的创建文件夹自定义函数mkdir()

    Python对文件的操作还算是方便的,只需要包含os模块进来,使用相关函数即可实现目录的创建. 主要涉及到三个函数: 1.os.path.exists(path) 判断一个目录是否存在 2.os.makedirs(path) 多层创建目录 3.os.mkdir(path) 创建目录 直接上代码: 复制代码 代码如下: def mkdir(path):     # 引入模块     import os       # 去除首位空格     path=path.strip()     # 去除尾部

  • Python实现合并同一个文件夹下所有txt文件的方法示例

    本文实例讲述了Python实现合并同一个文件夹下所有txt文件的方法.分享给大家供大家参考,具体如下: 一.需求分析 合并一个文件夹下所有txt文件 二.合并效果 三.python实现代码 # -*- coding:utf-8*- import sys reload(sys) sys.setdefaultencoding('utf-8') import os import os.path import time time1=time.time() ########################

  • python使用循环实现批量创建文件夹示例

    代码很简单,其中用到了python的sys模块,大家参考使用吧 复制代码 代码如下: import os,sysbase = 'C:/'i = 1for j in range(100):    file_name = base+str(i)    os.mkdir(file_name)    i=i+1

  • python根据txt文本批量创建文件夹

    前言 前言:想写这个代码的原因是因为实习的时候需要根据表格名创建对应的文件夹,如果只是很少个数文件夹的话,ctrl+shift+n还可以接受吧,可是一次就要创建几百个文件夹,这就有点方方了.所以我写了一些代码解决实际的问题吧. 正文 正文:其实这是一个简单的代码集合,然后就实现了 代码目录结构 │ 创建文件夹.py ├─docs │ try.txt └─folder 第一个文件自然就是代码的位置:try.txt是存的所有要生成的文件夹名称列表,是直接从excel表格获取复制粘贴的,编码格式utf

  • python创建临时文件夹的方法

    本文实例讲述了python创建临时文件夹的方法.分享给大家供大家参考.具体实现方法如下: import tempfile, os tempfd, tempname = tempfile.mkstemp('.suffix') os.write(tempfd, "aString") # or, if you want a file-object: os.fdopen(tempfd, 'w+') os.close(tempfd) os.unlink(tempname) 希望本文所述对大家的P

  • python爬虫自动创建文件夹的功能

    该爬虫应用了创建文件夹的功能: #file setting folder_path = "D:/spider_things/2016.4.6/" + file_name +"/" if not os.path.exists(folder_path): os.makedirs(folder_path) 上面代码块的意思是: "os.path.exists(folder_path)"用来判断folder_path这个路径是否存在,如果不存在,就执行&

  • 浅谈Python批处理文件夹中的txt文件

    1 文件处理形式  近期由于处理大量数据,所以对于采用python进行处理文件的一些操作也打算整理一下:接下来主要说一下如何处理目录下的一系列txt文件.首先看一下我们将要处理目录下的15个类似的数据文件,其中提取的数据如图所示,以及在读写文件时所需要的关键词,可以让程序正确读写相应的数据 2.代码段-python 接下来就是贴出相应的python代码,具体一些关键的注释我已经标注好了,具体数据结果就不展示了,如果大家想拿我的数据进行测试联系我就好,但是一般情况下在我标注的地方进行相应的修改就好

  • 浅谈python socket函数中,send与sendall的区别与使用方法

    在python socket编程中,有两个发送TCP的函数,send()与sendall(),区别如下: socket.send(string[, flags]) 发送TCP数据,返回发送的字节大小.这个字节长度可能少于实际要发送的数据的长度.换句话说,这个函数执行一次,并不一定能发送完给定的数据,可能需要重复多次才能发送完成. 例子: data = "something you want to send" while True: len = s.send(data[len:]) if

  • 浅谈Python在pycharm中的调试(debug)

    作为一名程序员,调试(debug)程序是一项必会的事情,在利用pycharm这个pythonIDE时,不好好利用其调试功能真的是太可惜了. 借用这两天学习机器学习的工程. 在Deep_Learing工程中创建两个python文件,其中执行程序的文件名称为main.py,另一个KNN.py则是机器学习中一个小的模块,其中有算法代码. 在main.py中这样编写: 最关键的是写出 if __name__ == "__main__": 这句代码,这句代码代表主函数运行的入口,在其中写要进行测

  • 浅谈Python的list中的选取范围

    序列是Python中最基本的数据结构.序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推. Python有6个序列的内置类型,但最常见的是列表和元组. 序列都可以进行的操作包括索引,切片,加,乘,检查成员.此外,Python已经内置确定序列的长度以及确定最大和最小的元素的方法 列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现. 列表的数据项不需要具有相同的类型 浅谈Python的list中的选取范围 a = [1,2,3,4,

  • 浅谈python中对于json写入txt文件的编码问题

    最近一直在研究python+selenium+beautifulsoup的爬虫,但是存入数据库还有写入txt文件里面的时候一直都是unicode编码的格式. 接下来就是各种翻阅文档,查找谷歌和度娘,但是都没有具体的说明是什么问题. 结果根据自己的代码发现,原来是一句代码写到后面去了. name = json.dumps('中国你好', ensure_ascii=False) #重点就是这一句代码 date = time.strftime('%Y-%m-%d', time.localtime(ti

  • 浅谈Python中文件夹和python package包的区别

    pycharm右键新建时会有目录(文件夹)和python package两个选项,这两个到底有什么不同呢 1.原来在python模块的每一个包中,都有一个__init__.py文件(这个文件定义了包的属性和方法)然后是一些模块文件和子目录,假如子目录中也有__init__.py那么它就是这个包的子包了. 当你将一个包作为模块导入(比如从 xml导入 dom)的时候,实际上导入了它的__init__.py 文件. 2.而目录跟包唯一不同的就是没有__init__.py 文件,一个包是一个带有特殊文

  • 浅谈Python中os模块及shutil模块的常规操作

    如下所示: #os.listdir() 方法用于返回指定的文件夹包含的文件或文件夹的名字的列表.这个列表以字母顺序. 它不包括 '.' 和'..' 即使它在文件夹中. #只支持在 Unix, Windows 下使用 import os, sys # 打开文件 path=r'C:\Users\Administrator.SKY-20180518VHY\Desktop\rx\ore' dirs = os.listdir( path ) print(dirs) # 输出所有文件和文件夹 for fil

  • 浅谈python中copy和deepcopy中的区别

    在下是个编程爱好者,最近将魔爪伸向了Python编程.....遇到copy和deepcopy感到很困惑,现在针对这两个方法进行区分,一种是浅复制(copy),一种是深度复制(deepcopy). 首先说一下deepcopy,所谓的深度复制,在这里我理解的是完全复制然后变成一个新的对象,复制的对象和被复制的对象没有任何关系,彼此之间无论怎么改变都相互不影响. 然后说一下copy,在这里我分为两类来说,一种是字典数据类型的copy函数,一种是copy包的copy函数. 一.字典数据类型的copy函数

  • 浅谈python中列表、字符串、字典的常用操作

    列表操作如此下: a = ["haha","xixi","baba"] 增:a.append[gg] a.insert[1,gg] 在下标为1的地方,新增 gg 删:a.remove(haha) 删除列表中从左往右,第一个匹配到的 haha del a.[0] 删除下标为0 对应的值 a.pop(0) 括号里不写内容,默认删除最后一个,写了,就删除对应下标的内容 改:a.[0] = "gg" 查:a[0] a.index(&q

  • 浅谈Python中函数的参数传递

    1.普通的参数传递 >>> def add(a,b): return a+b >>> print add(1,2) 3 >>> print add('abc','123') abc123 2.参数个数可选,参数有默认值的传递 >>> def myjoin(string,sep='_'): return sep.join(string) >>> myjoin('Test') 'T_e_s_t' >>>

随机推荐