首页 > 编程语言 >Python中文件读写操作

Python中文件读写操作

时间:2023-03-19 11:33:25浏览次数:49  
标签:文件 读写操作 Python fileName read file np import data

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)

img

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)

img

(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)

img

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,fileName,read,file,np,import,data
From: https://www.cnblogs.com/zhyan8/p/17232659.html

相关文章

  • logback.xml文件
    <?xmlversion="1.0"encoding="UTF-8"?><configurationdebug="false"><!--一、日志文件存放的地址,可以更改--><propertyname="LOG_HOME"value="D:\j......
  • 关于分别复制不同文件夹内的多个同名文件,到另外不同文件夹的问题
    如题:例如在test文件夹内有a,b,c,三个文件夹,每个文件夹内都有一个readme文件,我想将a,b,c三个文件夹中的内容分别复制到mydata中的对应的子文件夹中应该如何操作?解......
  • windows备份文件
    背景:在windows 下进行文件夹备份,备份成些压缩包什么之类的,话不多说,直接上bat 脚本:@echooff@rem全局变量注意事项:C:\Users\Anita\Desktop\temp\,前面最后的“\”一定不要......
  • Linux 6.3 对EXT4文件系统写入性能改进补丁
    EXT4(第四代扩展文件系统)是 ​​Linux​ 系统下的日志文件系统,目前该系统已趋于稳定,但在Linux6.3合并窗口中再获得了一些直接I/O性能改进补丁,改进了写入速度。EXT4(......
  • 【FastDFS分布式文件系统】2.FastDFS架构概述
    上一篇我们讲解了文件的存储机制,有单机存储、共享存储和分布式存储,那么我们的主角---FastDFS就是一个分布式存储机制的文件系统,本篇为大家介绍一下Fast......
  • python单元测试unittest
    快速上手#被测代码defadd_func(a,b):returna+b#测试代码importunittestclassMyTest(unittest.TestCase):deftest_add_func(self):#......
  • 【springmvc+mybatis项目实战】杰信商贸-4.maven依赖+PO对+映射文件
    我们来为刚刚创建的数据库表来在工程中创建PO对象首先我们要创建工程项目的开发环境序号工 具        用 途1MyEc......
  • python有序字典在做题中的使用.
    66.两个链表的第一个公共结点  题目  提交记录  讨论  题解  视频讲解输入两个链表,找出它们的第一个公共结点。当不存在公共节点时,返回空......
  • 100道python基础题——(8)
    问题:编写一个程序,接受逗号分隔的单词序列作为输入,按字母顺序排序后按逗号分隔的序列打印单词。假设向程序提供以下输入:without,hello,bag,world则输出为:bag,hello,witho......
  • 100道python基础题——(9)
    多组输入问题:编写一个程序,接受一行序列作为输入,并在将句子中的所有字符大写后打印行。假设向程序提供以下输入:HelloworldPracticemakesperfect则输出为:HELLOWORLDP......