赞
踩
由于老师需要处理大量数据,所以想着用python写一个自动化处理的数据的代码,经过一会儿尝试,实现了我处理数据需求。
以下是txt转成excel操作过程中可能碰到的问题。
注意空格,因为python本身没有{ }用来对齐,因此空格不要乱调,不然影响语句逻辑关系
处理数据时,修改dir那里的地址,改成你要处理的文件夹地址,这里注意语言本身可能不识别转义字符
然后就是list.replace(‘.txt’,‘.xlsx’),这里是将文件转名字用的,所以要看好需要处理文件的格式,填错了将无法识别文件
其他的就是注意符号的中英文
配置好python环境后,下载包 xlsxwriter,否则会报错,以后调其他的py包也一样,百度一下调报的代码,cmd中输入
这里的命令是 (tips:导入包时因为有些地址是国外的,速度比较慢,可以百度看看国内的版本,如我附的这个)
pip3 install xlsxwriter -i https://pypi.douban.com/simple
代码如下:(只需要改一下dir路径名就可以)
import xlsxwriter import os dir = "C:/Users/10092/Desktop/1" #绝对路径 lists = os.listdir(dir) #获取目录下的所有文件名 for list in lists: #遍历文件名 txt_dir = os.path.join(dir,list) #每个txt文件的路径 f = open(txt_dir,'r') contexts = f.readlines() # 获取txt文件内容 sheet_name = list.replace('.log','.xlsx') #excel文件取名 file = xlsxwriter.Workbook(sheet_name) #创建excl sheet = file.add_worksheet() #创建工作表 i = 0 #excel表格中的第一行 for context in contexts: context = context.strip('\n') context = context.split(',') #通过指定分隔符(,)对字符串进行切片 sheet.write_column(i, 0, context) #第i行,第0列(在工作表中写入文本内容) i += 1 file.close()
实现提取text最后一行数据的代码:(注意点在代码下面)
import os path = 'C:/Users/10092/Desktop/4'#绝对路径 path_list = os.listdir(path)#这里选择处理包的路径 path_list.sort(key=lambda x:int(x[14:-4])) # 检查获得的文件名是否按顺序排列:print(path_list) f = open("result.txt", "w") #逐个打开文件 for filename in path_list: fe = open(os.path.join(path,filename),'r') lines = fe.readlines() last_line=lines[-1] f.write(last_line) #print(last_line) #创建一个名为“ result.txt”的文件:
使用说明:
(1)上面执行后,得到的是txt文件,再用一下之前转excel代码(将result.txt文件放到一个包,然后注意改一下路径,改成你放的包的路径)
这里得到的是倒序的(跟包里文件相反)
(2)自己在excel第一列插入一列新的列,标上1,2,3…,然后ctrl+A全选,选择排序,自定义排序,按A倒序
(3)然后选择B列,点击数据,选择分列,选分隔符号,下一步,选空格,完成
(4)然后将数据放到你的表格中
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。