1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > c++ 按行读取txt文件并赋值_python操作txt文件中数据教程[3]python读取文件夹中所有t

c++ 按行读取txt文件并赋值_python操作txt文件中数据教程[3]python读取文件夹中所有t

时间:2020-03-11 15:44:42

相关推荐

c++ 按行读取txt文件并赋值_python操作txt文件中数据教程[3]python读取文件夹中所有t

觉得有用的话,请点击右下角

推荐给更多小伙伴neoken_xuAsuradaEvacloud

参考文献

python 操作 txt 文件中数据教程[1]-使用 python 读写 txt 文件[1]

python 操作 txt 文件中数据教程[2]-python 提取 txt 文件[2]

原始 txt 文件程序实现后结果

程序实现

importcsv

importos

SUM_LOG_FILE=[]#sum_csv文件名

INDIVIDUAL_LOG_FILE=[]#individual_csv文件名

File_Name=[]#txt_文件名

DNA_Group=7#表示每7条DNA组成一个组

Sum_log_file_header=["No","Continuity","Hairpin","H-measure","Similarity","GC"]

Individual_log_file_header=["No","DNAstructure","Continuity","Hairpin","H-measure","Similarity","TM","GC"]

defRead_Files(filename):

DNA_log=[]#精英种群个体日志mod9=1-8

Sum_log=[]#精英种群总体日志mod9=0

sum_evaindex=[[]foriinrange(6)]

Individual_evaindex=[[]foriinrange(8)]

withopen(filename,'r')asf:

i=1

forlineinf.readlines():

ifi%9==0:

Sum_log.append(line)

else:

DNA_log.append(line)

i=i+1

f.close()

Sum_no=1

dna_log_no=0

forSuminSum_log:

sum_eva_index=Sum.split("\n")[0].split("")[1:]

sum_evaindex[0].append(int(Sum_no))

sum_evaindex[1].append(float(sum_eva_index[0]))#Con

sum_evaindex[2].append(float(sum_eva_index[1]))#HP

sum_evaindex[3].append(float(sum_eva_index[2]))#Hm

sum_evaindex[4].append(float(sum_eva_index[3]))#Si

sum_evaindex[5].append(float(sum_eva_index[4]))#GC

Sum_no=Sum_no+1

fordna_loginDNA_log:

#获取序号值

if(dna_log_no+1)%8==1:

foriinrange(DNA_Group):

Individual_evaindex[0].append(int(dna_log.split("\n")[0]))

else:

#获取各项指标

Individual_evaindex[1].append(dna_log.split("\n")[0].split("")[0])#所有DNA序列全部记载,使用原有的str字符串类型记载

Individual_evaindex[2].append(float(dna_log.split("\n")[0].split("")[1]))#DNA序列的连续值Con,注意要转换为浮点数类型

Individual_evaindex[3].append(float(dna_log.split("\n")[0].split("")[2]))#Hp茎区匹配

Individual_evaindex[4].append(float(dna_log.split("\n")[0].split("")[3]))#H-measure

Individual_evaindex[5].append(float(dna_log.split("\n")[0].split("")[4]))#Similarity

Individual_evaindex[6].append(float(dna_log.split("\n")[0].split("")[5]))#TM

Individual_evaindex[7].append(float(dna_log.split("\n")[0].split("")[6]))#GC

dna_log_no=dna_log_no+1

returnsum_evaindex,Individual_evaindex

#将数据写入csv日志文件中

defWrite_SumFiles(filename,sum_evaindex):

withopen(filename,"w",newline='')asf:

writer=csv.writer(f)

writer.writerow(Sum_log_file_header)#注意,此处使用writerow而不是使用writerows

foriinrange(sum_evaindex[0][-1]):

writer.writerow(

[sum_evaindex[0][i],sum_evaindex[1][i],sum_evaindex[2][i],sum_evaindex[3][i],sum_evaindex[4][i],

sum_evaindex[5][i]])

f.close()

defWrite_IndividualFiles(filename,sum_evaindex,Individual_evaindex):

withopen(filename,"w",newline='')asf:

writer=csv.writer(f)

writer.writerow(Individual_log_file_header)#注意,此处使用writerow而不是使用writerows

foriinrange(sum_evaindex[0][-1]*DNA_Group):

writer.writerow(

[Individual_evaindex[0][i],Individual_evaindex[1][i],Individual_evaindex[2][i],

Individual_evaindex[3][i],

Individual_evaindex[4][i],Individual_evaindex[5][i],Individual_evaindex[6][i],

Individual_evaindex[7][i]])

f.close()

deffile_name(file_dir):

forfilesinos.listdir(file_dir):

ifos.path.splitext(files)[1]=='.txt':

File_Name.append(files)

SUM_LOG_FILE.append("./test/sumlog_"+os.path.splitext(files)[0]+".csv")

INDIVIDUAL_LOG_FILE.append("./test/Individual_"+os.path.splitext(files)[0]+".csv")

#获取当前目录下所有txt文件名

file_name(".")

fori,j,kinzip(File_Name,SUM_LOG_FILE,INDIVIDUAL_LOG_FILE):

print(i)

print(j)

print(k)

Sum_Evaindex,Individual_Evaindex=Read_Files(i)

Write_SumFiles(filename=j,sum_evaindex=Sum_Evaindex)

Write_IndividualFiles(filename=k,sum_evaindex=Sum_Evaindex,Individual_evaindex=Individual_Evaindex)

参考资料

[1]

python操作txt文件中数据教程[1]-使用python读写txt文件:/u013555719/article/details/84553722

[2]

python操作txt文件中数据教程[2]-python提取txt文件:/u013555719/article/details/84554355

c++ 按行读取txt文件并赋值_python操作txt文件中数据教程[3]python读取文件夹中所有txt文件并将数据转为csv文件...

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。