将文本、JSON 和 CSV 保存到Python中的文件
Python允许用户处理文件(读取、写入、保存和删除文件等等)。因为Python,我们很容易保存多种文件格式。 Python具有保存多种文件格式的内置函数。
在Python中打开一个文本文件
打开文件是指准备好文件以供读取或写入。这可以使用open()
函数来完成。
句法:
File_object = open("File_Name", "Access_Mode")
参数:
- File_Name:需要打开的文件名。
- Access_Mode:访问模式控制打开文件中可能的操作类型。
以下是最常用的访问模式:
- 只读 ('r'):打开文本文件进行阅读。
- 只写('w'):打开文件进行写入。
- Append Only ('a'):打开文件进行写入。正在写入的数据将插入到末尾,在现有数据之后。
- 读写('r+'):打开文件进行读写。
注意:默认情况下, Python假定访问模式为 read ie (“r”)
# Python program to demonstrate
# opening a file
# Open function to open the file "myfile.txt"
# (same directory) in read mode and store
# it's reference in the variable file1
file1 = open("myfile.txt")
# Reading from file
print(file1.read())
file1.close()
注意:有关详细信息,请参阅在Python中打开文件。
在Python中保存文本文件
在了解了用Python打开文件之后,让我们看看如何保存它。在写入模式下打开一个新文件将创建一个文件,关闭文件后,文件会自动保存。但是,我们也可以将一些文本写入文件。 Python为此提供了两种方法。
- write():在文本文件的单行中插入字符串str1。
File_object.write(str1)
- writelines():对于字符串元素的列表,每个字符串都插入到文本文件中。用于一次插入多个字符串。
File_object.writelines(L) for L = [str1, str2, str3]
例子:
# Python program to demonstrate
# saving a text file
file = open('read.txt', 'w')
file.write('Welcome to Geeks for Geeks')
file.close()
输出:
有声明
Python中的with
语句用于异常处理,以使代码更简洁、更具可读性。它简化了文件流等公共资源的管理。与上述实现不同,使用with
语句时无需调用file.close()
。 with
语句本身确保正确获取和释放资源。
句法:
with open filename as file:
statement(s)
例子:
# Python program to demonstrate
# saving a text file
with open('read.txt', 'w') as file:
books = ['Welcome\n',
'Geeks\n',
'to\n',
'Geeks\n',
'for\n',
'Geeks\n',
'world\n']
file.writelines("% s\n" % data for data in books)
输出:
注意:有关更多信息,请参阅用Python写入文件。
在Python中保存 CSV 文件
CSV 是一种逗号分隔值文件,最广泛用于放置表格数据。 CSV 文件以纯文本形式存储表格数据(数字和文本)。文件的每一行都是一个数据记录。每条记录由一个或多个字段组成,以逗号分隔。 Python有一个名为csv
的内置模块来编写和保存 CSV 文件。
要保存 CSV 文件:
- 首先,我们需要导入 csv 库。
- 然后像往常一样打开文件,但不是在 read_file 对象上写入内容,而是创建一个名为 read_writer 的新对象。
- 该对象为我们提供了writelines()方法,该方法允许我们将所有行的数据放入一次输入中。
例子:
# Python program to demonstrate
# writing to CSV
import csv
# field names
fields = ['Name', 'Branch', 'Year', 'CGPA']
# data rows of csv file
rows = [ ['Nikhil', 'COE', '2', '9.0'],
['Sanchit', 'COE', '2', '9.1'],
['Aditya', 'IT', '2', '9.3'],
['Sagar', 'SE', '1', '9.5'],
['Prateek', 'MCE', '3', '7.8'],
['Sahil', 'EP', '2', '9.1']]
# name of csv file
filename = "university_records.csv"
# writing to csv file
with open(filename, 'w') as csvfile:
# creating a csv writer object
csvwriter = csv.writer(csvfile)
# writing the fields
csvwriter.writerow(fields)
# writing the data rows
csvwriter.writerows(rows)
输出:
注意:有关详细信息,请参阅在Python中编写 CSV 文件。
在Python中保存 JSON 文件
JSON 的完整形式是 JavaScript Object Notation。这意味着由编程语言中的文本组成的脚本(可执行)文件用于存储和传输数据。 Python通过一个名为json
的内置包支持 JSON。 JSON 中的文本是通过引用字符串完成的,该字符串包含{ }
内键值映射中的值。
该模块提供了一个名为dump()
的方法,它将Python对象转换为适当的 json 对象。
import json
# python object(dictionary) to be dumped
dict1 ={
"emp1": {
"name": "Lisa",
"designation": "programmer",
"age": "34",
"salary": "54000"
},
"emp2": {
"name": "Elis",
"designation": "Trainee",
"age": "24",
"salary": "40000"
},
}
# the json file where the output must be stored
out_file = open("myfile.json", "w")
json.dump(dict1, out_file, indent = 6)
out_file.close()
输出:
注意:有关更多信息,请参阅在Python中使用 JSON 数据。