本文目录一览:
python怎么写入csv文件
import pandas as pd#任意的多组列表a = [1,2,3]
b = [4,5,6]
#字典中的key值即为csv中列名dataframe = pd.DataFrame({'a_name':a,'b_name':b})#将DataFrame存储为csv,index表示是否显示行名,default=Truedataframe.to_csv("test.csv",index=False,sep='')1234567891011
a_name b_name0 1 41 2 52 3 61234
同样pandas也提供简单的读csv方法
import pandas as pddata = pd.read_csv('test.csv')12
会得到一个DataFrame类型的data,不熟悉处理方法可以参考pandas十分钟入门
另一种方法用csv包,一行一行写入
import csv
#python2可以用file替代open
with open("test.csv","w") as csvfile:
writer = csv.writer(csvfile)
#先写入columns_name
writer.writerow(["index","a_name","b_name"])
#写入多行用writerows
writer.writerows([[0,1,3],[1,2,3],[2,3,4]])12345678910
index a_name b_name0 1 31 2 32 3 41234
读取csv文件用reader
import csvwith open("test.csv","r") as csvfile:
reader = csv.reader(csvfile) #这里不需要readlines
for line in reader:
print line
将多个样本的vcf文件转化为Phylip输入格式的python脚本
但是phylip又不能直接把vcf文件作为输入文件,它的输入格式要求如下
第一行的两个数字分别为样本数和SNP数目
第二行的第一列为物种名称,一定要是10个字符的长度,长度不足可以用空格填充.第二列则是要用于比对的SNP序列。两列之间没有分隔符,而且后面的SNP每10个字符有一个空格.
python脚本如下:
可以选择输出fasta文件或者phy文件
python 如何将数据写入某个csv文件的特定位置?
#其实csv文件就是用逗号隔开的文本文件,
#所以只要用python中的open函数打开就可以了。
#我把修改后的文件存为b_out.csv了
b_int={}
for i in open('b.csv').readlines()[1:]:
j=i.split(',')
if len(j)2:
b_int[j[0]]=j[4]
a_int=open('a.csv').readlines()
for i in range(1,len(a_int)):
a_int_=a_int[i].rstrip().split(',')
a_int_[-1]=b_int.get(a_int_[4],'0')
a_int[i]=','.join(a_int_)+'\n'
open('b_out.csv','w').write(''.join(a_int))