首页 > 编程知识 正文

python矩阵写入csv,python怎么读取矩阵数据

时间:2023-12-28 11:57:14 阅读:328472 作者:QSQX

本文目录一览:

如何将csv文件中的数据写入python并转换成矩阵以文件形式输出

Python处理csv文件时经常会用到讲csv文件整体读取为一个数组或者矩阵的情况,借助numpy包,可以使用如下代码简洁高效低实现:

[python] view plain copy

import numpy

my_matrix = numpy.loadtxt(open("c:\1.csv","rb"),delimiter=",",skiprows=0)

将数组或者矩阵存储为csv文件可以使用如下代码实现:

[python] view plain copy

numpy.savetxt('new.csv', my_matrix, delimiter = ',')

利用Python如何将数据写到CSV文件中

如果你的数据是列表格式,可以使用一个迭代器,将数据写入文件,同时添加必要的分隔符以构成csv文件

如果数据是字典格式,需要考虑使用换行符或者其他特殊符号来分割每个字典元素(包括键和值)。键和值可以考虑使用和之前不重复的分隔符进行分割。

这样就构成了一个csv文件(csv使用分隔符分割值的文件)

操作方法如下:

1,使用读写追加的方式打开csv文件。

2,找到csv文件的结尾。

3,在结尾使用和之前csv使用的分割相同的格式进行数据添加。

4,关闭文件

csv文件怎么打开 使用Python读取和写入CSV文件

csv文件本质上是一个文本文件,具体的读取和写入方法有两种:

直接对csv文件进行文件读写操作,每一行是一条记录,按行读取即可,简单代码如下:

with open("XXX.csv","wr") as f:

f.readline()

f.write()

2.使用第三方库中的csv文件读写函数(本质上还是使用python的文件读写方法),如科学计算包pandas包中就有read_csv()  to_csv()等函数,其他的一些第三方包里也有,可以自行查询。

两种方法各有优劣,第一种方法的优点就是可控性强,但是代码相对较多,对于python2编码处理很麻烦;第二种方法的优点是代码量小,调用方便,处理编码问题相对容易(在函数中加一个encoding参数即可),但是代码内部比较复杂,可控性较差

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

python把csv文件导入成想要的矩阵格式

很多时候,我们将数据存在txt或者csv格式的文件里,最后再用python读取出来,存到数组或者列表里,再做相应计算。本文首先介绍写入txt的方法,再根据不同的需求(存为数组还是list),介绍从txt读取浮点数的方法。

一、写入浮点数到txt文件:

假设每次有两个浮点数需要写入txt文件,这里提供用with关键字打开文件的方法,使用with打开文件是一个很好的习惯,因为with结束,它就会自动close file,不用手动再去flie.close()。

[python] view plain copy

with open('file_path/filename.txt','a') as file:

write_str = '%f %fn'%(float_data1,float_data2)

file.write(write_str)

二、从txt文件提取浮点数到numpy数组或list列表

首先假设你有一个odom.txt 的文件,里面每一行的数据个数都相同,如截图所示:

1.如果你是想把这些数据读取出来,存为numpy数组,那么一句代码可以搞定:

[python] view plain copy

a = numpy.loadtxt('odom.txt')

存为numpy数组以后,a的尺寸可以用a.shape进行查看,这里应为:(14,2)也就是14行2列。如果你觉得这个形状不是你期待的,你可以用:

[python] view plain copy

b = numpy.reshape(a,(你想要的形状))

b = numpy.reshape(a,(-1,1,2))

那么b就是一个三维数组了(14,1,2)

2.如果只是想读出来,存到一个list里,那就用下面的常用python格式了:

[python] view plain copy

with open('odom.txt', 'r') as f:

data = f.readlines() #txt中所有字符串读入data

for line in data:

odom = line.split() #将单个数据分隔开存好

numbers_float = map(float, odom) #转化为浮点数

print numbers_float

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。