利用R语言将罗氏Roche定量仪导出的txt数据转化为csv文件

Python029

利用R语言将罗氏Roche定量仪导出的txt数据转化为csv文件,第1张

Roche定量仪配套软件 LightCycler@96 只能将定量结果导出为txt文件,而txt文件复制数据并不方便。如按列复制时,就只能挨个复制。

使用方法:将配套软件导出的文件放在同一个目录下,该目录不含有其他txt文件,然后在该目录新建R脚本,运行上述命令。

#读取wet.txt需要转换的目标矩阵,显示原行列。本例中行为sample,列为otu

otu<-read.delim('E:\\R语言网络分析\\wet.txt',sep='\t',row.names=1)

otu1<-t(otu)

write.table(otu1,file='otu9.txt',sep='\t',row.names=T)

#读取wet.xlsx需要转换的目标矩阵,显示原行列。本例中行为sample,列为otu

library(openxlsx)

otu<-read_excel("E:\\R语言网络分析\\wet.xlsx")

otu1=t(otu)

##导出已转置文件到本地储存,此处导出的文件为Excel格式文件

write.xlsx(otu1,file="otu11.xlsx",sep='\t',row.names=T)

# 将otu1保存为csv文件

write.csv(otu1,file="otu11.csv")

library(openxlsx)

otu<-read_excel("E:\\R语言网络分析\\wet.xlsx")

head(otu)

class(otu)

otu1=t(otu)

write.xlsx(otu1,file="otu2.xlsx") ##导出已转置文件到本地储存,此处导出的文件为Excel格式文件

# 将otu1保存为csv文件

write.csv(otu1,file="otu5.csv")

很多时候,我们将数据存在txt或者csv格式的文件里,最后再用python读取出来,存到数组或者列表里,再做相应计算。本文首先介绍写入txt的方法,再根据不同的需求(存为数组还是list),介绍从txt读取浮点数的方法。

一、写入浮点数到txt文件:

假设每次有两个浮点数需要写入txt文件,这里提供用with关键字打开文件的方法,使用with打开文件是一个很好的习惯,因为with结束,它就会自动close file,不用手动再去flie.close()。

[python] view plain copy

with open('file_path/filename.txt','a') as file:

write_str = '%f %f\n'%(float_data1,float_data2)

file.write(write_str)

二、从txt文件提取浮点数到numpy数组或list列表

首先假设你有一个odom.txt 的文件,里面每一行的数据个数都相同,如截图所示:

1.如果你是想把这些数据读取出来,存为numpy数组,那么一句代码可以搞定:

[python] view plain copy

a = numpy.loadtxt('odom.txt')

存为numpy数组以后,a的尺寸可以用a.shape进行查看,这里应为:(14,2)也就是14行2列。如果你觉得这个形状不是你期待的,你可以用:

[python] view plain copy

b = numpy.reshape(a,(你想要的形状))

b = numpy.reshape(a,(-1,1,2))

那么b就是一个三维数组了(14,1,2)

2.如果只是想读出来,存到一个list里,那就用下面的常用python格式了:

[python] view plain copy

with open('odom.txt', 'r') as f:

data = f.readlines() #txt中所有字符串读入data

for line in data:

odom = line.split() #将单个数据分隔开存好

numbers_float = map(float, odom) #转化为浮点数

print numbers_float