利用python将二值csv格式转换为矩阵

#!/usr/bin/env python
# coding:utf-8
#import pandas as pd, numpy as np;

‘‘‘
将csv文件转换为对应的邻接矩阵mat
‘‘‘

from numpy import *;

def protein_complexes_trans():
    file = open(‘protein_complexes.csv‘);
    filePro = open(‘complexes‘, ‘a‘);
    fileTarget = open(‘targets(complexes)‘,‘a‘);
    fileInter = open(‘protein_complexes_interaction_matrix‘, ‘a‘);
    proteins = [];
    targets = [];
    while 1:
        line = file.readline();
        if not line:
            break;
        token = line.split(‘;‘);
        targ = token[1].split(‘,‘);
        for i in range(0,len(targ)):
            targets.append(targ[i]);
        proteins.append(token[0]);

    file.seek(0);  #将指针重置回第一行

    proArr = unique(array(proteins)).tolist();  #去重,并删去最后一项(标题)
    tarArr = unique(array(targets)).tolist();  #删去最后

#mat为邻接矩阵
    mat = zeros((len(proArr),len(tarArr)), dtype = int16);

    while 1:
        line = file.readline();
        if not line:
            break;
        token = line.split(‘;‘);
        targ = token[1].split(‘,‘);
        row = proArr.index(token[0]);
        for i in range(0, len(targ)):
            col = tarArr.index(targ[i]);
            mat[row][col] = 1;
    #输出药物和靶向的列表
    for i in proArr:
        filePro.write(‘%s\n‘ % i);
    for i in tarArr:
        fileTarget.write(‘%s\n‘ % i);

    print "%d&%d" % (len(proArr), len(tarArr));

    interMat = mat.tolist();

    #将矩阵写入文件
    for i in range(0, len(proArr)):
        fileInter.write(‘%s\n‘ % (str(interMat[i])));
    return 0;

def drugs_targets_trans():
    #print ‘hello world‘;
    file = open(‘drugs_targets_sum‘);
    fileDrug = open(‘drugs‘, ‘a‘);
    fileTarget = open(‘targets‘,‘a‘);
    fileInter = open(‘drugs_targets_interaction_matrix‘, ‘a‘);
    drugs = [];
    targets = [];
    while 1:
        line = file.readline();
        if not line:
            break;
        token = line.split(‘;‘);
        targ = token[1].split(‘,‘);
        for i in range(0,len(targ)):
            targets.append(targ[i]);
            drugs.append(token[0]);

    file.seek(0);  #将指针重置回第一行

    drugArr = unique(array(drugs)).tolist();  #去重,并删去最后一项(标题)
    tarArr = unique(array(targets)).tolist();  #删去最后

#mat为邻接矩阵
    mat = zeros((len(drugArr),len(tarArr)), dtype = int16);

    while 1:
        line = file.readline();
        if not line:
            break;
        token = line.split(‘;‘);
        targ = token[1].split(‘,‘);
        row = drugArr.index(token[0]);
        for i in range(0, len(targ)):
            col = tarArr.index(targ[i]);
            mat[row][col] = 1;

    #输出药物和靶向的列表
    for i in drugArr:
        fileDrug.write(‘%s\n‘ % i);
    for i in tarArr:
        fileTarget.write(‘%s\n‘ % i);

    interMat = mat.tolist();
    for i in range(0, len(drugArr)):
        fileInter.write(‘%s\n‘ % (str(interMat[i])));

#protein_complexes_trans();
drugs_targets_trans();
时间: 2024-10-26 04:34:39

利用python将二值csv格式转换为矩阵的相关文章

mac OS X:将CSV格式转换为Excel文档格式

一:在Mac上如果你使用Excel打开windows导出的CSV格式文档,你会发现表格中所有的的内容都显示在A列.那么,如何恢复正常呢,你可以将CSV格式的文档导入到Excel文档中,这样就正常显示了. 1. 2. 3. 4. 5. 6. 7. 8. 9. 二:中文乱码解决方法 使用 Numbers软件打开文档,然后 ps: 其实可以不用Excel的,直接使用Numbers就足够了,编辑和导出. 版权声明:本文为博主原创文章,未经博主允许不得转载.

python图片二值化提高识别率

import cv2from PIL import Imagefrom pytesseract import pytesseractfrom PIL import ImageEnhanceimport reimport string def createFile(filePath,newFilePath): img = Image.open(filePath) # 模式L”为灰色图像,它的每个像素用8个bit表示,0表示黑,255表示白,其他数字表示不同的灰度. Img = img.conver

[Python]图像二值化

https://blog.csdn.net/qq_35531549/article/details/96134760 # 识别前处理# 图片二值化from PIL import Imageimport osos.chdir('D:\OCR')img = Image.open('test.png') # 模式L”为灰色图像,它的每个像素用8个bit表示,0表示黑,255表示白,其他数字表示不同的灰度.Img = img.convert('L')Img.save("test1.png")

第四周(1):利用Python计算π的值,并显示进度条

用Python计算圆周率pi并用进度条提示进度 一 计算公式: 二 实现代码 (1) import math from tqdm import tqdm import time total,s,n,t=0.0,1,1.0,1.0 while(math.fabs(t)>=1e-6): total+=t n+=2 s=-s t=s/n k=total*4 print("π值是{:.10f} 运行时间为{:.4f}秒".format(k,time.clock())) for i in

利用Python进行XML转CSV

#!/usr/bin/python #XMLtoCSV.py #encoding:utf-8 import csv, os from xml.dom.minidom import parse def createCSVFile(filePrefix): csvFile = open(filePrefix+'.csv', 'wb')  #注意是二进制写入,否则会有多余空格 csvWriter = csv.writer(csvFile) bWriteHead = False xmlFile = op

js实现的数组和CSV格式的相互转换

js实现的数组和CSV格式的相互转换:csv格式就是用逗号分割的值,例如以下形式: 蚂蚁部落,2,antzone,青岛市南区 下面介绍一下csv格式和数组元素的相互转换.一.数组元素转换为CSV格式: var theArray=["蚂蚁部落",2,"antzone","青岛市南区"]; console.log(theArray.join()); 二.csv格式转换为数组元素: var str="蚂蚁部落,2,antzone,青岛市南区&

图像的自适应二值化

机器视觉分为三个阶段 : 图像转化.图像分析.图像理解.若要将一幅图像转化为方便分析理解的格式,有一个很关键的过程就是"图像二值化".一幅图像能否分析理解的准确很大程度上来说取决于二值化效果的好坏.然而目前国际上还没有任何二值化标准的算法,也没相关的确定性数学模型建立.这里我大致介绍我这几天研究的鄙见. 在二值化前有一个很重要的步骤是"图像灰度化",原理就是将原RGB图像的三维矩阵进行f(x) = R*0.3+G*0.51+B*0.11运算得到一个二维矩阵(个人认为

python将json转csv

现有一个需求要将json转成excel,使用python将其转为csv格式,使用excel打开即可. import json import csv import codecs f = open('test.json') data = json.load(f) #print(data) f.close() f = codecs.open('test.csv', 'w', 'utf_8_sig')#解决写入csv时中文乱码 writer=csv.writer(f); for item in data

记录一个优秀的图像二值化代码

#region 二值化02 public Bitmap binaryzation(Bitmap srcBitmap, Bitmap dstBitmap) { int threshold = 0; Byte[,] BinaryArray = ToBinaryArray(srcBitmap, out threshold); dstBitmap = BinaryArrayToBinaryBitmap(BinaryArray); return dstBitmap; } /// <summary> //