|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 meiszp 于 2017-6-6 23:23 编辑
写了下面的代码,目的是将文件里的6列数据每列数据除于一个数。但代码有些问题,麻烦帮忙修改下。
(1)让6列数据像原来一样保留相同的小数位数,
(2)让6列数据像原来一样每列对齐,
(3)代码中的number是统计完成的文件数的,但值一直是1。
数据格式见附件
012_002.zip
(558.28 KB, 下载次数: 1)
- # -*- coding: utf-8 -*-
- import os
- import shutil
- a="."+input("更改的文件扩展名:")
- foldername=input("结果文件夹名:") #输入要创建的文件名
- folderlocation=os.path.dirname(os.getcwd())#当前目录的上一级目录
- mulu=os.path.join(folderlocation,foldername) #获取创建文件夹所在的路径
- #print a
- if os.path.isdir(mulu)==True:
- print(mulu, "文件目录已存在,是否删除目录内所有文件!Y/N")
- c=input()
- if c=="Y"or c=="y":
- shutil.rmtree(mulu)
- os.mkdir(mulu)
- else:
- print("请确认文件夹下无创建的同名文件后,按任意键继续执行")
- input( )
- else:
- os.mkdir(mulu)
- print(mulu,"文件目录不存在,已创建!")
- #以上代码是在上一级创建一个用于存放新文件的文件夹
- titleline1='Mx My Mz Fx Fy Fz'+'\n'
- titleline2='kNm kNm kNm kN kN kN'+'\n'
- for root, dirs, files in os.walk(".",topdown=True):
- for filename in files:
- li=os.path.splitext(filename) #分割文件名得到列表[文件名,扩展名]
- if li[1]==a:
-
- name=li[0]
- b=mulu+'\\%s.txt'%name
-
- filelocation=os.path.join(root,filename)
-
- with open(filelocation,'r')as file_object,open(b,'w')as newfile:
- number=0
-
- newfile.write(titleline1) #将titleline1写入
- newfile.write(titleline2) #将titleline2写入
-
- for line in file_object:
-
- datalist=line.split() #分割数据,生成列表
- data1=float(datalist[0])/1000
- data2=float(datalist[1])/1000
- data3=float(datalist[2])/1000
- data4=float(datalist[3])/1000
- data5=float(datalist[4])/1000
- data6=float(datalist[5])/1000
- newline=str(data1)+' '+str(data2)+' '+str(data3)+' '+str(data4)+' '+str(data5)+' '+str(data6)+'\n'
- newfile.write(newline)
-
- number=number+1
- print(filelocation+"完成,第%s个完成"%number)
-
- print( '结果文件目录',mulu,"共%s个文件"%number)
复制代码
|
|