python如何读取.mtx文件


Posted in Python onApril 22, 2021

mtx文件是按照稀疏矩阵格式存储的矩阵数据,可以按照以下步骤读取:

1、安装scanpy包

pip install scanpy

2、文件读取

import scanpy as sc 
adata = sc.read(filename)
data = adata.X

第一行read之后返回的是annData,第二行通过.X操作得到的是矩阵数据

3、转换为稠密矩阵

data = data.todense()

直接得到的矩阵是稀疏形式的,通过todense函数可转换为稠密矩阵

补充:python读取各种文件方式

Json:

use_time=[]
with open(address,'r') as f: #ubuntu
    mobile = json.load(f)
    calls = mobile["transactions"][0]["calls"]
for call in calls: 
  use_time.append(str(call['use_time']))

Excel:

rawdata1=open_workbook(address)
rawdata=rawdata1.sheet_by_index(0)
for i in range(1,rawdata.nrows):
    if rawdata.cell(i,date_index).value=="": #跳过空行
        continue
    else:
        if ctype==3:  #若为3,则用datetime模块处理日期
            date1=rawdata.cell(i,date_index).value
            date2 = xldate_as_tuple(date1,0) 
            date3=datetime(*date2)
            if "." in str(rawdata.cell(i,phone_index).value):
                phone1=str(rawdata.cell(i,phone_index).value)[:-2]  
            else:
                phone1=str(rawdata.cell(i,phone_index).value)

写EXCEL:

Excel_file = xlwt.Workbook() 
sheet = Excel_file.add_sheet('sheet0')
header=[u'号码','日期top1','日期top2','日期top3']
#写入标题行:
for i in range(len(header)):
    sheet.write(0,i,header[i])
#开始按行写入数据:
for i in range(len(phonelist)):
    sheet.write(i+1,0,phonelist[i])
    sheet.write(i+1,1,dic[str(phonelist[i])])
#保存EXCEL:
Excel_file.save("C:/Users/Desktop/100个文件输出xls/"+str(fileName)+".xls")

CSV:

rawdata=pd.read_csv(address,skip_blank_lines=True) #参数为去除空行
if 'start_time' or 'begin_time'  in rawdata.columns:
    if 'start_time' in rawdata.columns:
        start_time=rawdata['start_time']
    elif 'begin_time' in rawdata.columns:
            start_time=rawdata['begin_time']

txt:

rawdata=open(address,'r')
i=0
a=[] #c存放第一行的列名
for line in rawdata:
    if i==1: #默认第二行开始存储通话数据
        a=line.split(',') #逗号作为分隔符
        for j in range(len(a)): #查找指定列名所在的列下标
            if (('-' in str(a[j]))or('/' in str(a[j]))): #判断日期所在列数
                date_index=j #保存日期的列下标
            elif  str(a[j]).isdigit() and len(str(a[j]))>5: #默认全为数字组成的字符串为电话号码
                phone_index=j
            else:
                pass
        break
    else:
        i+=1
i=0
for line in rawdata:#开始转存数据:
    if len(line)<10: #跳过空行
        continue
    data_line=line.split(',') #txt默认以','分隔数据
    if i==0:
        pass #第一行为列名,跳过
        i+=1
    else: #从第二行开始保存数据
        start_time.append(data_line[date_index])

以上为个人经验,希望能给大家一个参考,也希望大家多多支持三水点靠木。如有错误或未考虑完全的地方,望不吝赐教。

Python 相关文章推荐
Python中正则表达式的用法实例汇总
Aug 18 Python
Python实现Sqlite将字段当做索引进行查询的方法
Jul 21 Python
Python 递归函数详解及实例
Dec 27 Python
python list删除元素时要注意的坑点分享
Apr 18 Python
NLTK 3.2.4 环境搭建教程
Sep 19 Python
Python爬虫将爬取的图片写入world文档的方法
Nov 07 Python
Python和Java的语法对比分析语法简洁上python的确完美胜出
May 10 Python
简单了解django orm中介模型
Jul 30 Python
TENSORFLOW变量作用域(VARIABLE SCOPE)
Jan 10 Python
python实现人工蜂群算法
Sep 18 Python
python实现测试工具(一)——命令行发送get请求
Oct 19 Python
PyQt5中QSpinBox计数器的实现
Jan 18 Python
Python中tkinter的用户登录管理的实现
python爬虫之利用selenium模块自动登录CSDN
Python数据清洗工具之Numpy的基本操作
Python基础之Socket通信原理
python numpy中setdiff1d的用法说明
Apr 22 #Python
一行代码python实现文件共享服务器
Apr 22 #Python
python数据分析之用sklearn预测糖尿病
You might like
JAVA/JSP学习系列之六
2006/10/09 PHP
Win下如何安装PHP的APC拓展
2013/08/07 PHP
多个PHP中文字符串截取函数
2013/11/12 PHP
php递归调用删除数组空值元素的方法
2015/04/28 PHP
PHP获取指定月份第一天和最后一天的方法
2015/07/18 PHP
laravel如何开启跨域功能示例详解
2017/08/31 PHP
基于PHP的登录和注册的功能的实现
2020/08/06 PHP
理解Javascript_14_函数形式参数与arguments
2010/10/20 Javascript
js自动下载文件到本地的实现代码
2013/04/28 Javascript
动态获取复选框checkbox选中个数的jquery代码
2013/06/25 Javascript
JS 仿腾讯发表微博的效果代码
2013/12/25 Javascript
javascript实现2048游戏示例
2014/05/04 Javascript
Angular 理解module和injector,即依赖注入
2016/09/07 Javascript
通过一次报错详细谈谈Point事件
2018/05/17 Javascript
vue语法自动转typescript(解放双手)
2019/09/18 Javascript
JS实现小星星特效
2019/12/24 Javascript
python 实现数组list 添加、修改、删除的方法
2018/04/04 Python
Python3使用正则表达式爬取内涵段子示例
2018/04/22 Python
python实现顺序表的简单代码
2018/09/28 Python
pytorch 实现L2和L1正则化regularization的操作
2021/03/03 Python
Paradigit比利时电脑卖场:购买笔记本、电脑、平板和外围设备
2016/11/28 全球购物
迪卡侬荷兰官网:Decathlon荷兰
2017/10/29 全球购物
美国领先的奢侈手表在线零售商:WatchMaxx
2017/12/17 全球购物
Vilebrequin美国官方网上商店:法国豪华泳装品牌
2020/02/22 全球购物
美国最大的在线生存商店:Survival Frog
2020/12/13 全球购物
解释一下抽象方法和抽象类
2016/08/27 面试题
大学生活学习的自我评价
2013/12/03 职场文书
《开国大典》教学反思
2014/04/19 职场文书
先进个人事迹材料
2014/12/29 职场文书
离婚协议书样本
2015/01/26 职场文书
《比尾巴》教学反思
2016/02/24 职场文书
iPhone13将有八大升级
2021/04/15 数码科技
Django cookie和session的应用场景及如何使用
2021/04/29 Python
Python实现byte转integer
2021/06/03 Python
使用Python+OpenCV进行卡类型及16位卡号数字的OCR功能
2021/08/30 Python
对象析构函数__del__在Python中何时使用
2022/03/22 Python