【python】读写txt,npy,csv文件

python 写txt文件

写文件可以用open函数打开,并设置为"w" 的模式(写的模式),writelines写下,
具体代码如下。

import os
img_list = os.path.join('data/test.txt')
lans=[[[1,2],[3,4],[5,6],[7,8],[9,10]],[[1,2],[3,4],[5,6],[7,8],[9,10]]]

with open(img_list, 'w') as f:
    f.writelines("ann")  #第一行
    f.writelines("\n")   #下一行
    for lan in lans:     #最外面括号内的索引
        for size in lan: #第二层括号内的索引
            f.writelines(str(size)) #写第三层括号
            f.writelines(",")      #退格
        f.writelines("\n")          #第二层括号内的东西写完,下一行
    f.close()                       #关闭文件

运行结果在data目录创建test.txt文件,写了三行文字
第一行为开头ann
第二行第三行为列表内容。
在这里插入图片描述

python 读txt文件

也是用open函数打开,设置为"r"(只读模式),用readlines函数读取全部行的内容,
并使用replace函数去掉换行符,一行行保存下来。
具体代码如下:

with open(img_list, 'r') as f:
    lines = f.readlines()
    title = lines[0] #第一行为标题
    text = []
    for line in lines[1:]:  
        line = line.replace('\n', '') #去掉换行符
        text.append(line) 
    f.close()     

    print("line1:",text[0]) #内容的第一行
    print("line2:",text[1]) #内容的第二行

运行结果如下

line1: [1, 2],[3, 4],[5, 6],[7, 8],[9, 10],
line2: [1, 2],[3, 4],[5, 6],[7, 8],[9, 10],

python 写npy文件

这个比较简单,其实就是np.save函数保存numpy的数组

import numpy as np

# 创建数组
array = np.array([1, 2, 3, 4, 5])
array2 = np.array([1, 2, 3, 4, 5])

txt=[] #要保存的内容
txt.append(array)
txt.append(array2)
# 将数组保存为.npy文件
np.save('data/data.npy', txt)

python 读npy文件

这个也是一样,就load函数导入就行了。

import numpy as np

# 读取.npy文件
array = np.load('data/data.npy')

# 输出数组内容
print(array)

运行结果

[[1 2 3 4 5]
 [1 2 3 4 5]]

python 写csv文件

创建列表data,使用open()函数以写入模式打开一个名为data.csv的文件,并使用csv.writer()函数创建一个写入器对象。最后,使用writerows()方法将整个数据列表写入CSV文件。
具体代码如下

import csv

# 创建示例数据
data = [
    ['Name', 'Age', 'City'],
    ['John', '25', 'New York'],
    ['Alice', '30', 'London'],
    ['Bob', '35', 'Paris']
]

# 写入CSV文件
with open('data/data.csv', 'w', newline='') as file:
    writer = csv.writer(file)
    writer.writerows(data)

运行结果
结果

python 读csv文件

使用open()函数打开名为data.csv的CSV文件,并将其用csv.reader()函数进行读取,逐行打印CSV文件的内容。
具体代码如下:

import csv

# 读取CSV文件
with open('data/data.csv', 'r') as file:
    reader = csv.reader(file)
    for row in reader:
        print(row)

运行结果

['Name', 'Age', 'City']
['John', '25', 'New York']
['Alice', '30', 'London']
['Bob', '35', 'Paris']

追加写入

不管是txt还是csv,将模式设置为“a”,就是追加写入的意思
具体示例代码如下

# 追加数据
# 新数据
new_data = [
    ['Mark', '28', 'Sydney'],
    ['Emily', '32', 'Tokyo']
]

# 打开CSV文件进行追加
with open('data/data.csv', 'a', newline='') as file:
    writer = csv.writer(file)
    writer.writerows(new_data)

运行结果为:
在这里插入图片描述

附录-一些文件模式

追加模式(‘a’):以追加模式打开文件,如果文件存在,则将新数据追加到文件末尾,如果文件不存在,则创建新文件。

读写模式(‘r+’):以读写模式打开文件,可以读取和写入文件。文件指针位于文件开头,可以使用seek()方法更改文件指针的位置。

二进制模式(‘b’):与其他模式一起使用,表示以二进制模式进行文件操作。例如,'rb’表示以二进制模式打开文件进行读取,'wb’表示以二进制模式打开文件进行写入。

更新模式(‘+’):与其他模式一起使用,表示对文件进行更新操作。例如,'r+'表示以读写模式打开文件,'a+'表示以追加和读取模式打开文件。

具体代码演示:

# 以追加模式打开文件
with open('data.txt', 'a') as file:
    file.write('This is new content.')

# 以读写模式打开文件
with open('data.txt', 'r+') as file:
    content = file.read()
    file.write('\nAdditional content.')

# 以二进制模式打开文件进行读取
with open('image.jpg', 'rb') as file:
    data = file.read()

# 以二进制模式打开文件进行写入
with open('data.bin', 'wb') as file:
    file.write(b'\x00\x01\x02\x03')

# 以追加和读取模式打开文件
with open('data.txt', 'a+') as file:
    file.write('\nNew content')
    file.seek(0)
    content = file.read()

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

RichardCV

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值