📜  将文本、JSON 和 CSV 保存到Python中的文件

📅  最后修改于: 2022-05-13 01:54:49.113000             🧑  作者: Mango

将文本、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

有声明

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写入文件。

在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中编写 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() 

输出:

保存-json-python

注意:有关更多信息,请参阅在Python中使用 JSON 数据。