Python中文件读写操作
1 txt文件
1.1 写操作
import numpy as np
def write(fileName,data):
file=open(fileName,'w')
row,col=data.shape
string=""
for i in range(row):
for j in range(col-1):
string+=str(data[i][j])+'\t'
string+=str(data[i][col-1])+'\n'
file.write(string)
file.flush()
file.close()
data=np.array([[1,1.2,3.5],[2,2.5,4.7],[3,8.4,7.6]])
write('test.txt',data)

1.2 读操作
| file.read([size]) | 读取 size 个字符,并将指针移到这次读取的最后一个字符的后面。当 size 省略时,表示读取所有内容 |
|---|---|
| file.readline() | 读取第一行的内容,并将指针移到下一行 |
| file.readlines() | 读取所有内容,并把每行的内容放到一个list里面 |
| file.seek(offset) | 指针移到 offset 处 |
import numpy as np
def read(fileName):
file=open(fileName,'r')
list=file.readlines()
file.close()
row=len(list)
col=len(list[0].split())
data=np.zeros((row,col),dtype='float32')
for i in range(row):
data[i,:]=list[i].split()
return data
data=read('test.txt')
print(data)
[[1. 1.2 3.5]
[2. 2.5 4.7]
[3. 8.4 7.6]]
2 cvs文件
2.1 cvs包
(1)写操作
import numpy as np
import csv
def write(fileName,data):
file=open(fileName,'w',newline='')
writer=csv.writer(file)
row,col=data.shape
for i in range(row):
writer.writerow(data[i,:])
file.flush()
file.close()
data=np.array([[1,1.2,3.5],[2,2.5,4.7],[3,8.4,7.6]])
write('test.csv',data)

(2)读操作
import numpy as np
import csv
def read(fileName):
file=open(fileName,'r')
reader=csv.reader(file)
data=[]
for row in reader:
data=data+[row]
file.close()
return np.array(data,dtype='float32')
data=read('test.csv')
print(data)
[[1. 1.2 3.5]
[2. 2.5 4.7]
[3. 8.4 7.6]]
2.2 pandas包
(1)写操作
import numpy as np
import pandas as pd
def write(fileName,data):
file=open(fileName,'w',newline='')
df=pd.DataFrame(data)
df.to_csv(file,header=None,index=False)
file.close()
data=np.array([[1,1.2,3.5],[2,2.5,4.7],[3,8.4,7.6]])
write('test.csv',data)
(2)读操作
import numpy as np
import pandas as pd
def read(fileName):
file=open(fileName,'r')
data=pd.read_csv(file,header=None).values.astype('float32')
file.close()
return data
data=read('test.csv')
print(data)
3 npy/npz文件
3.1 写操作
(1)npy 文件
import numpy as np
def write(fileName,data):
np.save(fileName,data)
data=np.array([[1,1.2,3.5],[2,2.5,4.7],[3,8.4,7.6]])
write('test.npy',data)
(2)npz 文件
npz 文件可以保存多个数组
import numpy as np
def write(fileName,data1,data2):
np.savez(fileName,data1=data1,data2=data2)
data1=np.array([[1,1.2,3.5],[2,2.5,4.7],[3,8.4,7.6]])
data2=np.array([1,2,3,4,5])
write('test.npz',data1,data2)

3.2 读操作
(1)npy 文件
import numpy as np
def read(fileName):
data=np.load(fileName)
return data
data=read('test.npy')
print(data)
[[1. 1.2 3.5]
[2. 2.5 4.7]
[3. 8.4 7.6]]
(2)npz 文件
import numpy as np
def read(fileName):
temp=np.load(fileName)
data1=temp['data1']
data2=temp['data2']
return data1,data2
data1,data2=read('test.npz')
print(data1)
print(data2)
[[1. 1.2 3.5]
[2. 2.5 4.7]
[3. 8.4 7.6]]
[1 2 3 4 5]
声明:本文转自Python中文件读写操作
Python中文件读写操作的更多相关文章
- python里文件读写操作
文件读写操作一种基本操作,但是里面也存在很多需要注意的问题,例如字符编码.内存缓冲.指针位置等等.如果忽视这些问题就会引起很多不必要的麻烦.简单来说,文件的读写分为几个过程: 打开文件,并定义操作文件 ...
- Python中文本文件读写操作的编码问题
Python中文本文件读写的编码问题 编码(encode): 我们输入的任何字符想要以文件(如.txt)的形式保存在计算机的硬盘上, 必须先经按照一定的规则编成计算机认识的二进制后,才能存在电脑硬盘上 ...
- 【Python】文件读写操作
Python的文件读写有点类似php的文件读写.php的文件读写已经在<[php]让记事本成为你调控变量的控制台>(点击打开链接)说过了,以下用一个小样例说明Python的文件读写. 在F ...
- 快速入门Python中文件读写IO是如何来操作外部数据的?
读写文件是最常见的IO操作.Python内置了读写文件的函数,用法和C是兼容的. 读写文件前,我们先必须了解一下,在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘, ...
- python中文件读写
读写文件是最常见的IO操作.Python内置了读写文件的函数,用法和C是兼容的. 读写文件前,我们先必须了解一下,在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘, ...
- python的文件读写操作
文件读写 本文转自廖雪峰老师的教程https://www.liaoxuefeng.com/wiki/1016959663602400/1017607179232640 读写文件是最常见的IO操作.Py ...
- Python中文件的操作
文件的操作介绍 文件打开的方法 主要有两种: no with 格式:open(file, mode='r', buffering=-1, encoding=None, errors=None, new ...
- python进阶--文件读写操作
Python读写文件 1. open 使用open打开文件后一定要记得调用 文件对象的close()方法.比如可以用try --finally语句来确保最后能关闭文件. >>>f1 ...
- python之文件读写操作笔记
对不同类的文件操作,需要调用相关的库文件,一般情况下,可以选择建立:写文件函数和读文件函数.在写文件与读文件函数中 我们可以采用:with open('文件名','w', encoding='utf ...
- python之文件读写操作(r/r+/rb/w/w+/wb/a/a+/ab)的作用
'r':只读.该文件必须已存在. 'r+':可读可写.该文件必须已存在,写为追加在文件内容末尾. 'rb':表示以二进制方式读取文件.该文件必须已存在. 'w':只写.打开即默认创建一个新文件,如果文 ...
随机推荐
- JavaScript合并多个数组
工作中经常会对数组进行合并,稍微总结一下常用的方法: concat JavaScript原生自带的函数,用法如下: let arr1 = [3, 5, 7]; let arr2 = [4, 78, 7 ...
- linux-网络状态-netstat
- Go-环形链表
package main import "fmt" // 环形单向链表 // 特征: 首尾相连 // 实现: 结构体 + 指针 // 1. 构建环形单向链表,类似单向链表,不过he ...
- udp编程及udp常见问题处理
前言 UDP协议是User Datagram Protocol的缩写,它是无连接,不可靠的网络协议.一般使用它进行实时性数据的传输,主要是因为它快,但因为它是不可靠的一种传输协议,所以不可避免的会出现 ...
- [转帖]清除掉shared pool中某条sql语句方法
https://www.xifenfei.com/2012/02/%E6%B8%85%E9%99%A4%E6%8E%89shared-pool%E4%B8%AD%E6%9F%90%E6%9D%A1sq ...
- [转帖]max_allowed_packet 与 SQL 长度的关系
https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000210013 适用版本:V2.1.x.V2.2.x.V3.1 ...
- [转帖]金仓数据库KingbaseES 数据库参数优化
目录 一.数据库应用类型 二.主要参数 max_connections shared_buffers effective_cache_size maintenance_work_mem checkpo ...
- 编译打包rabbitmq然后一键部署的简单方法
摘要 之前总结过一版,但是感觉不太全面 想着本次能够将使用中遇到的问题总结一下. 所以本次是第二版 介质下载 rabbitmq 不区分介质的打包文件 rabbitmq-server-generic-u ...
- Mark 一下 Redisson 可能需要升级版本
貌似有bug 我们高并发的情况下貌似遇到了 https://github.com/redisson/redisson/issues/2299
- 《Javascript高级程序设计》读书笔记——构造函数与原型
构造函数与原型 构造函数模式 最简单的构造函数: function Person(name, age, job) { this.name = name; this.age = age; this.jo ...