python保存、list

本文介绍了一种使用numpy库高效保存和读取列表数据的方法,对比了直接写入txt文件的方式,此方法能更好地保留list的原始格式,适用于需要频繁存取列表数据的场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

对于一个列表a[]:

# 保存
filename = open('a.txt', 'w')  
for value in a:  
     filename.write(str(value)) 
filename.close()  
# 读取
f= open("a.txt","r")   
a = f.read()    
f.close()  

以上这种方法虽然占用空间小,但是原来的list格式会被破坏。为此也可以用以下发方法,此方法可以保留list原格式。

# 保存
import numpy as np
a=np.array(a)
np.save('a.npy',a)   # 保存为.npy格式
# 读取
a=np.load('a.npy')
a=a.tolist()

ps:

如果读取的.txt文件是中文名,需要加以下内容:

readme = pd.read_csv('读我.txt',sep=':',encoding="utf-8", engine='python',header=None)
readme = np.array(readme)
### 如何在Python保存列表到文件或数据库 #### 将列表保存至文件 一种常见的方法是通过序列化技术来实现,`pickle`模块提供了对象持久化的功能。可以利用此工具把列表存储成二进制格式的文件。 ```python import pickle data_list = ['apple', 'banana', 'cherry'] with open('listfile.pkl', 'wb') as f: pickle.dump(data_list, f) # 序列化并写入文件 ``` 如果偏好于更易读的形式,则可以选择JSON格式来进行数据交换。这同样适用于简单的列表结构[^1]。 ```python import json json_data = ['apple', 'banana', 'cherry'] with open('listfile.json', 'w') as f: json.dump(json_data, f) # 使用json方式保存 ``` 对于文本型的数据还可以考虑CSV文件作为载体之一: ```python import csv csv_items = [['fruit'], ['apple'], ['banana'], ['cherry']] with open('fruits.csv', mode='w', newline='') as file: writer = csv.writer(file) writer.writerows(csv_items) # 写入多行记录 ``` #### 列表存入数据库 当涉及到关系型数据库时,SQLite是一个轻量级的选择,并且可以直接嵌入应用程序内使用而无需单独安装服务器端软件。下面展示了一个例子说明怎样创建表格并将列表中的元素逐条插入其中[^2]。 ```sql CREATE TABLE IF NOT EXISTS fruits ( id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT UNIQUE ON CONFLICT IGNORE); INSERT INTO fruits(name) VALUES ('apple'),('banana'),('cherry'); ``` 为了执行上述SQL语句,在Python程序里通常会借助`sqlite3`库完成连接建立、游标的获取以及最终的操作提交过程。 ```python import sqlite3 connection = sqlite3.connect(':memory:') # 创建内存数据库实例 cursor = connection.cursor() create_table_query = """ CREATE TABLE IF NOT EXISTS fruits ( id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT UNIQUE ON CONFLICT IGNORE);""" insert_into_fruits = """INSERT INTO fruits(name) VALUES (?),(?),(?)""" try: cursor.execute(create_table_query) cursor.executemany(insert_into_fruits, [('apple', ), ('banana', ), ('cherry', )]) except Exception as e: print(f"An error occurred: {e}") finally: connection.commit() cursor.close() connection.close() ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值