在Python中,读取和写入CSV文件是非常常见的操作。Python标准库中的csv
模块提供了强大的工具来处理CSV文件。下面是如何使用csv
模块进行CSV文件的读取和写入操作的示例。
![图片[1]_Python中CSV文件的读写操作指南_知途无界](https://zhituwujie.com/wp-content/uploads/2025/03/d2b5ca33bd20250310095847.png)
一、读取CSV文件
使用csv.reader
import csv# 打开CSV文件进行读取with open('example.csv', mode='r', newline='', encoding='utf-8') as file:csv_reader = csv.reader(file)# 迭代CSV文件的每一行for row in csv_reader:print(row)import csv # 打开CSV文件进行读取 with open('example.csv', mode='r', newline='', encoding='utf-8') as file: csv_reader = csv.reader(file) # 迭代CSV文件的每一行 for row in csv_reader: print(row)import csv # 打开CSV文件进行读取 with open('example.csv', mode='r', newline='', encoding='utf-8') as file: csv_reader = csv.reader(file) # 迭代CSV文件的每一行 for row in csv_reader: print(row)
说明:
open
函数用于打开CSV文件。mode='r'
表示以读取模式打开文件。newline=''
参数是为了确保在不同平台上都能正确读取CSV文件。encoding='utf-8'
用于指定文件的编码,确保能正确处理包含非ASCII字符的CSV文件。csv.reader
对象可以迭代,每次迭代返回一个代表CSV文件一行的列表。
使用DictReader
如果你希望将CSV文件的每一行作为一个字典来处理,可以使用csv.DictReader
:
import csv# 打开CSV文件进行读取with open('example.csv', mode='r', newline='', encoding='utf-8') as file:csv_reader = csv.DictReader(file)# 迭代CSV文件的每一行,作为字典返回for row in csv_reader:print(row)import csv # 打开CSV文件进行读取 with open('example.csv', mode='r', newline='', encoding='utf-8') as file: csv_reader = csv.DictReader(file) # 迭代CSV文件的每一行,作为字典返回 for row in csv_reader: print(row)import csv # 打开CSV文件进行读取 with open('example.csv', mode='r', newline='', encoding='utf-8') as file: csv_reader = csv.DictReader(file) # 迭代CSV文件的每一行,作为字典返回 for row in csv_reader: print(row)
说明:
csv.DictReader
会自动将CSV文件的第一行作为字典的键,后续行作为字典的值。
二、写入CSV文件
使用csv.writer
import csv# 要写入CSV文件的数据data = [['Name', 'Age', 'City'],['Alice', 30, 'New York'],['Bob', 25, 'Los Angeles'],['Charlie', 35, 'Chicago']]# 打开CSV文件进行写入with open('output.csv', mode='w', newline='', encoding='utf-8') as file:csv_writer = csv.writer(file)# 写入数据for row in data:csv_writer.writerow(row)import csv # 要写入CSV文件的数据 data = [ ['Name', 'Age', 'City'], ['Alice', 30, 'New York'], ['Bob', 25, 'Los Angeles'], ['Charlie', 35, 'Chicago'] ] # 打开CSV文件进行写入 with open('output.csv', mode='w', newline='', encoding='utf-8') as file: csv_writer = csv.writer(file) # 写入数据 for row in data: csv_writer.writerow(row)import csv # 要写入CSV文件的数据 data = [ ['Name', 'Age', 'City'], ['Alice', 30, 'New York'], ['Bob', 25, 'Los Angeles'], ['Charlie', 35, 'Chicago'] ] # 打开CSV文件进行写入 with open('output.csv', mode='w', newline='', encoding='utf-8') as file: csv_writer = csv.writer(file) # 写入数据 for row in data: csv_writer.writerow(row)
说明:
open
函数中的mode='w'
表示以写入模式打开文件。csv.writer
对象的writerow
方法用于写入一行数据。
使用DictWriter
如果你希望以字典的形式写入CSV文件,可以使用csv.DictWriter
:
import csv# 要写入CSV文件的数据,作为字典列表data = [{'Name': 'Alice', 'Age': 30, 'City': 'New York'},{'Name': 'Bob', 'Age': 25, 'City': 'Los Angeles'},{'Name': 'Charlie', 'Age': 35, 'City': 'Chicago'}]# 获取字典的键作为CSV文件的列名fieldnames = ['Name', 'Age', 'City']# 打开CSV文件进行写入with open('output_dict.csv', mode='w', newline='', encoding='utf-8') as file:csv_writer = csv.DictWriter(file, fieldnames=fieldnames)# 写入表头csv_writer.writeheader()# 写入数据for row in data:csv_writer.writerow(row)import csv # 要写入CSV文件的数据,作为字典列表 data = [ {'Name': 'Alice', 'Age': 30, 'City': 'New York'}, {'Name': 'Bob', 'Age': 25, 'City': 'Los Angeles'}, {'Name': 'Charlie', 'Age': 35, 'City': 'Chicago'} ] # 获取字典的键作为CSV文件的列名 fieldnames = ['Name', 'Age', 'City'] # 打开CSV文件进行写入 with open('output_dict.csv', mode='w', newline='', encoding='utf-8') as file: csv_writer = csv.DictWriter(file, fieldnames=fieldnames) # 写入表头 csv_writer.writeheader() # 写入数据 for row in data: csv_writer.writerow(row)import csv # 要写入CSV文件的数据,作为字典列表 data = [ {'Name': 'Alice', 'Age': 30, 'City': 'New York'}, {'Name': 'Bob', 'Age': 25, 'City': 'Los Angeles'}, {'Name': 'Charlie', 'Age': 35, 'City': 'Chicago'} ] # 获取字典的键作为CSV文件的列名 fieldnames = ['Name', 'Age', 'City'] # 打开CSV文件进行写入 with open('output_dict.csv', mode='w', newline='', encoding='utf-8') as file: csv_writer = csv.DictWriter(file, fieldnames=fieldnames) # 写入表头 csv_writer.writeheader() # 写入数据 for row in data: csv_writer.writerow(row)
说明:
csv.DictWriter
需要指定fieldnames
参数,用于定义CSV文件的列名。writeheader
方法用于写入表头。
通过以上示例,你可以轻松地在Python中进行CSV文件的读取和写入操作。根据实际需求选择合适的方法来处理CSV文件。
© 版权声明
文中内容均来源于公开资料,受限于信息的时效性和复杂性,可能存在误差或遗漏。我们已尽力确保内容的准确性,但对于因信息变更或错误导致的任何后果,本站不承担任何责任。如需引用本文内容,请注明出处并尊重原作者的版权。
THE END
暂无评论内容