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中类的定义、继承及使用对象实例详解
Apr 30 Python
Python中使用urllib2模块编写爬虫的简单上手示例
Jan 20 Python
详解Python使用simplejson模块解析JSON的方法
Mar 24 Python
qpython3 读取安卓lastpass Cookies
Jun 19 Python
Python实现类似比特币的加密货币区块链的创建与交易实例
Mar 20 Python
致Python初学者 Anaconda入门使用指南完整版
Apr 05 Python
Python实现的绘制三维双螺旋线图形功能示例
Jun 23 Python
python实现websocket的客户端压力测试
Jun 25 Python
Python Opencv任意形状目标检测并绘制框图
Jul 23 Python
利用pytorch实现对CIFAR-10数据集的分类
Jan 14 Python
Python将二维列表list的数据输出(TXT,Excel)
Apr 23 Python
python实现网页录音效果
Oct 26 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
php统计时间和内存使用情况示例分享
2014/03/13 PHP
JS可以控制样式的名称写法一览
2014/01/16 Javascript
javascript定义变量时有var和没有var的区别探讨
2014/07/21 Javascript
js实现点击图片将图片地址复制到粘贴板的方法
2015/02/16 Javascript
javascript数组随机排序实例分析
2015/07/22 Javascript
jquery实现华丽的可折角广告代码
2015/09/02 Javascript
javascript动态生成树形菜单的方法
2015/11/14 Javascript
javascript实现图片轮播效果
2016/01/20 Javascript
AngularJs基于角色的前端访问控制的实现
2016/11/07 Javascript
React-router v4 路由配置方法小结
2017/08/08 Javascript
Vue模拟数据,实现路由进入商品详情页面的示例
2018/08/31 Javascript
解决vue 项目引入字体图标报错、不显示等问题
2018/09/01 Javascript
使用 js 简单的实现 bind、call 、aplly代码实例
2019/09/07 Javascript
Python 列表(List)操作方法详解
2014/03/11 Python
python自动化测试之从命令行运行测试用例with verbosity
2014/09/28 Python
Python中列表、字典、元组、集合数据结构整理
2014/11/20 Python
Python之读取TXT文件的方法小结
2018/04/27 Python
Python 移动光标位置的方法
2019/01/20 Python
python实现弹窗祝福效果
2019/04/07 Python
Python语言进阶知识点总结
2019/05/28 Python
搭建python django虚拟环境完整步骤详解
2019/07/08 Python
python中hasattr()、getattr()、setattr()函数的使用
2019/08/16 Python
Tensorflow 定义变量,函数,数值计算等名字的更新方式
2020/02/10 Python
Python with语句用法原理详解
2020/07/03 Python
Eton丹麦官网:精美的男式衬衫
2020/05/27 全球购物
Linux的文件类型
2016/07/05 面试题
业务代表的岗位职责
2013/11/16 职场文书
商务英语应届生自我鉴定
2013/12/08 职场文书
会计毕业生自荐书
2014/06/12 职场文书
交通事故赔偿协议书
2014/10/16 职场文书
2014年就业工作总结
2014/11/26 职场文书
优秀教师先进事迹材料
2014/12/15 职场文书
公司经营目标责任书
2015/01/29 职场文书
2015年护士节活动策划方案
2015/05/04 职场文书
python处理json数据文件
2022/04/11 Python
Win11查看设备管理器
2022/04/19 数码科技