保姆级教程python实现自动化处理txt文件(提取最后一行数据以及将txt转成excel)

由于老师需要处理大量数据,所以想着用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)然后将数据放到你的表格中

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值