当需要读取大量数据或数据需要长时间存储时,使用字典(object)是很方便管理的方式之一。本篇攻略将讲解如何通过Python语言读取文件,把读取的内容保存到字典中,以及如何修改字典并将其以新的格式写入到新文件中的具体步骤。
1. 读取文件并保存到字典
在首先我们需要先打开文件,可以使用Python的内置函数open
来打开文件。open
函数需要两个参数,第一个参数是要打开的文件名,第二个参数是操作模式。其中操作模式包括:
r
:只读模式w
:写模式,会覆盖原文件内容a
:追加模式,会在文件末尾添加内容x
:只写模式,新建一个文件,如果文件已经存在则报错+
:读写模式
我们使用with
关键字来打开文件,它可以自动释放文件资源并关闭文件,避免程序没有关闭文件造成资源浪费或者文件丢失的情况。使用readlines()
函数可以读取文件中的每一行数据,最后统一关闭文件。示例代码如下:
with open('data.txt', 'r') as file:
lines = file.readlines()
dict_data = {}
for line in lines:
data = line.strip('\n').split(',')
dict_data[data[0]] = data[1]
在这段代码中,我们通过strip('\n')
来去掉每一行读取到的数据中的行尾符\n
,并通过split(',')
将每一行按照逗号分隔成两个数据,将这两个数据分别作为字典的key
和value
存储在定义的字典dict_data
中。
2. 修改字典并写入新文件
接下来,我们将介绍如何修改字典并将其以新的格式写入到新文件中。需要注意的是,在写入新文件时要自行定义文件名及文件路径,不要直接覆盖原文件。
我们可以通过items()
函数获取字典中的所有key
和value
,并使用for
循环逐一遍历每一个键值对进行修改。之后,我们需要打开一个新的文件并将修改后的数据写入文件中。在写入文件时我们可以使用with
关键字,使用write()
函数将修改后的字典以新的格式写入文件,示例代码如下:
new_dict_data = {}
for key, value in dict_data.items():
if key == 'one':
new_dict_data[key] = str(int(value) + 1)
else:
new_dict_data[key] = value
with open('new_data.txt', 'w') as file:
for key, value in new_dict_data.items():
file.write(f"{key}, {value}\n")
在这段代码中,我们首先定义一个新的字典new_dict_data
,并通过for
循环逐一遍历原字典,根据需要修改其中的某些键值对,最后将修改后的键值对作为新的数据存储在新字典中。之后,我们创建一个新文件new_data.txt
,使用for
循环遍历新字典中的所有键值对,并使用write()
函数将修改后的键值对以新的格式写入到文件中。
3. 示例说明
- 示例一
假设我们有一个文件data.txt
,其中包含了如下内容:
one, 1
two, 2
three, 3
four, 4
five, 5
我们需要将这个文件的数据保存到一个字典中,然后将字典中的one
键对应的值加1,之后将修改后的字典以新的格式写入到文件new_data.txt
中。
代码:
with open('data.txt', 'r') as file:
lines = file.readlines()
dict_data = {}
for line in lines:
data = line.strip('\n').split(',')
dict_data[data[0]] = data[1]
new_dict_data = {}
for key, value in dict_data.items():
if key == 'one':
new_dict_data[key] = str(int(value) + 1)
else:
new_dict_data[key] = value
with open('new_data.txt', 'w') as file:
for key, value in new_dict_data.items():
file.write(f"{key}, {value}\n")
- 示例二
假设我们有一个文件data.txt
,其中包含了如下内容:
apple, 6
banana, 5
pear, 7
orange, 3
我们需要将这个文件的数据保存到一个字典中,然后将字典中的每一个值都加1,之后将修改后的字典以新的格式写入到文件new_data.txt
中。
代码:
with open('data.txt', 'r') as file:
lines = file.readlines()
dict_data = {}
for line in lines:
data = line.strip('\n').split(',')
dict_data[data[0]] = data[1]
new_dict_data = {}
for key, value in dict_data.items():
new_dict_data[key] = str(int(value) + 1)
with open('new_data.txt', 'w') as file:
for key, value in new_dict_data.items():
file.write(f"{key}, {value}\n")
以上就是Python读文件保存到字典,修改字典并写入新文件的实例的完整攻略,如果有任何问题或疑问,欢迎留言讨论。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python读文件保存到字典,修改字典并写入新文件的实例 - Python技术站