python 读文件,然后转化为矩阵的实例

代码流程:

1. 从文件中读入数据。

2. 将数据转化成矩阵的形式。

3. 对于矩阵进行处理。

具体的python代码如下:

- 文件路径需要设置正确。

- 字符串处理。

- 字符串数组到 整型数组的转化。( nums = [int(x) for x in nums ])

- 矩阵的构造。(matrix = np.array(nums))

- numpy模块在矩阵处理上很有优势。

列表内容

# -*- coding: utf-8 -*-
import numpy as np
def readFile(path):
 # 打开文件(注意路径)
 f = open(path)
 # 逐行进行处理
 first_ele = True
 for data in f.readlines():
  ## 去掉每行的换行符,"\n"
  data = data.strip('\n')
  ## 按照 空格进行分割。
  nums = data.split(" ")
  ## 添加到 matrix 中。
  if first_ele:
   ### 将字符串转化为整型数据
   nums = [int(x) for x in nums ]
   ### 加入到 matrix 中 。
   matrix = np.array(nums)
   first_ele = False
  else:
   nums = [int(x) for x in nums]
   matrix = np.c_[matrix,nums]
 dealMatrix(matrix)
 f.close()
def dealMatrix(matrix):
 ## 一些基本的处理。
 print "transpose the matrix"
 matrix = matrix.transpose()
 print matrix
 print "matrix trace "
 print np.trace(matrix)
# test.
if __name__ == '__main__':
 readFile("matrix")

其中matrix文件中的内容如下:

0 0 0 1
1 0 1 0
1 0 1 1
1 1 1 1
1
2
3
4

python 构造m* n的矩阵

- 通过列表的方式(数组)进行生成矩阵。

- 该矩阵不适用于稀疏矩阵。(稀疏矩阵不会这样子进行构造)

- 注意:如果数据量特别大的时候,这种方法相当于将矩阵中的东西全部加载到内存中,如果行列达到10000+,最好考虑使用稀疏矩阵。(易出现 MemoryError)

- 稀疏矩阵的运算也应该考虑。

相关代码:

def fixed_matrix(row,col):
 return [[0 for i in range(col)] for j in range(row)]

以上这篇python 读文件,然后转化为矩阵的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • python读文件的步骤

    python怎么读文件? 首先,在桌面上建立一个txt文档,在上面输入以下内容: 你好.Hello.abcdefg啊不错的风格 查看文件的属性,获取文件的绝对路径: D:\HintSoft\Hint-W7\Desktop 文件名是--新建文本文档.txt, 那么,绝对路径加上文件名,就是绝对文件名: D:\HintSoft\Hint-W7\Desktop\新建文本文档.txt 用python打开这个文件,并命名为f. f = open(r"D:\HintSoft\Hint-W7\Desktop\

  • python读文件保存到字典,修改字典并写入新文件的实例

    实例如下所示: tcode={} transcode={} def GetTcode(): #从文本中获取英文对应的故障码,并保存在tcode字典(故障码文本样例:oxff,0xff,0x00,0x01, "Fuel Volume Regulator Control Circuit High") with open('text_en.txt','r+')as fileone: for line in fileone.readlines(): if not line: continue

  • python读文件逐行处理的示例代码分享

    复制代码 代码如下: import os ## for os.path.isfile() def dealline(line) :    print(line) ## 针对line我可以做很多事情 def getfilename() :    return input('Please input file name(input exit() for exit):').strip() class more : ## MORE功能    linenum = 0    size = 10    def

  • 在python中pandas读文件,有中文字符的方法

    后面要加encoding='gbk' import pandas as pd datt=pd.read_csv('D:\python_prj_1\data_1.txt',encoding='gbk') print(datt) 以上这篇在python中pandas读文件,有中文字符的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • python 读文件,然后转化为矩阵的实例

    代码流程: 1. 从文件中读入数据. 2. 将数据转化成矩阵的形式. 3. 对于矩阵进行处理. 具体的python代码如下: - 文件路径需要设置正确. - 字符串处理. - 字符串数组到 整型数组的转化.( nums = [int(x) for x in nums ]) - 矩阵的构造.(matrix = np.array(nums)) - numpy模块在矩阵处理上很有优势. 列表内容 # -*- coding: utf-8 -*- import numpy as np def readFi

  • python 读取.csv文件数据到数组(矩阵)的实例讲解

    利用numpy库 (缺点:有缺失值就无法读取) 读: import numpy my_matrix = numpy.loadtxt(open("1.csv","rb"),delimiter=",",skiprows=0) 写: numpy.savetxt('2.csv', my_matrix, delimiter = ',') 可能遇到的问题: SyntaxError: (unicode error) 'unicodeescape' codec

  • 利用Python在一个文件的头部插入数据的实例

    在一个文件的末尾追加数据是很常用的.在使用过程中应该都比较熟悉不会出现什么错误.但是往一个文件头部插入数据可能或多或少会碰到一些问题. 看似正确的错误代码 很多代码看似正确,但是其实都是错的.一起来看下这些代码 1.看似正确的错误代码1 with open(path, "r+") as f: f.seek(0) f.write(data) 确实是从头写了,而且有些原有数据确实在,但是数据有问题.... 因为"r+"方式写文件操作没有插入的语义,只有写文件的含义,原来

  • Python读取文件的四种方式的实例详解

    目录 学生数量特别少的情况 停车场空间不够时怎么办? 怎么加快执行效率? 怎么加快处理速度? 结语 故事背景:最近在处理Wikipedia的数据时发现由于数据量过大,之前的文件读取和数据处理方法几乎不可用,或耗时非常久.今天学校安排统一核酸检查,刚好和文件读取的过程非常相似.正好借此机会和大家一起从头梳理一下几种文件读取方法. 故事设定:现在学校要求对所有同学进行核酸采集,每位同学先在宿舍内等候防护人员(以下简称“大白”)叫号,叫到自己时去停车场排队等候大白对自己进行采集,采集完之后的样本由大白

  • Python判断文件和字符串编码类型的实例

    python判断文件和字符串编码类型可以用chardet工具包,可以识别大多数的编码类型.但是前几天在读取一个Windows记事本保存的txt文件时,GBK却被识别成了KOI8-R,无解. 然后就自己写了个简单的编码识别方法,代码如下: coding.py # 说明:UTF兼容ISO8859-1和ASCII,GB18030兼容GBK,GBK兼容GB2312,GB2312兼容ASCII CODES = ['UTF-8', 'UTF-16', 'GB18030', 'BIG5'] # UTF-8 B

  • Python 判断文件或目录是否存在的实例代码

    使用 os 模块 判断文件是否存在 os.path.isfile(path) 判断目录是否存在 os.path.isdir(path) 判断路径是否存在 # 使用 path 模块 os.path.exists(path) # 使用 access() 方法 os.access(path, os.F_OK) 使用 open 函数和异常捕获 如果直接用 open() 函数打开一个不存在的文件时,程序会抛出异常,我们可以通过 try 语句来捕获异常以达到判断文件是否存在的目的. 如果文件不存在,open

  • 使用python 打开文件并做匹配处理的实例

    如下所示: import os import re import string file = open("data2.txt") p1 = re.compile(r"^(\d{16})\s+(\d{3})") re.compile(p1) for line in file: print(line) match1 = re.search(p1,line) #print(match1.group(0)) sCard = match1.group(1) sValue=ma

  • python 执行文件时额外参数获取的实例

    如下所示: def usage(): print(' * usage:') print(' * -c [val] : exporter_conf filepath, default importer_conf.') print(' * -h : print this.') print(' * -z : 不需要确认参数,直接执行') do_not_confirm = False conf = '' #c: [c+冒号表示-c 后面有参数,hz表示-h,-z后面没参数,如果此时在-h 100加上参数

随机推荐