服务器学习网 > 编程学习 > Python中怎样实现读取写入CSV文件?

Python中怎样实现读取写入CSV文件?

服务器学习网综合整理   2024-08-19 09:52:02

读取CSV文件 要使用Python读取CSV文件,你首先需要导入csv模块。然后,可以使用open()函数以读取模式('r')打开文件,并通过csv.reader()或csv.DictReader()(对于包含表头的CSV文件特别有用)来遍历文件中的每一行。 import csv # 使用csv....

在数据处理的日常工作中,CSV(Comma-Separated Values)文件因其简洁性和广泛的兼容性而备受欢迎。Python作为一门强大的编程语言,提供了多种方式来实现CSV文件的读取与写入。下面,我们将详细探讨如何使用Python中的csv模块来轻松完成这些任务。

读取CSV文件

要使用Python读取CSV文件,你首先需要导入csv模块。然后,可以使用open()函数以读取模式('r')打开文件,并通过csv.reader()csv.DictReader()(对于包含表头的CSV文件特别有用)来遍历文件中的每一行。

import csv

# 使用csv.reader读取CSV文件
with open('example.csv', 'r', newline='', encoding='utf-8') as csvfile:
    csvreader = csv.reader(csvfile)
    for row in csvreader:
        print(row)  # 每一行数据作为一个列表输出

# 使用csv.DictReader读取带有表头的CSV文件
with open('example_with_header.csv', 'r', newline='', encoding='utf-8') as csvfile:
    csvreader = csv.DictReader(csvfile)
    for row in csvreader:
        print(row)  # 每一行数据作为一个字典输出,键为表头列名

写入CSV文件

写入CSV文件同样简单,只需使用csv.writer()csv.DictWriter()(针对带有表头的CSV文件)。首先,以写入模式('w')打开文件,然后创建一个csv.writercsv.DictWriter对象,并通过调用其writerow()writerows()方法来写入数据。

import csv

# 使用csv.writer写入CSV文件
with open('new_example.csv', 'w', newline='', encoding='utf-8') as csvfile:
    csvwriter = csv.writer(csvfile)
    csvwriter.writerow(['Name', 'Age', 'City'])  # 写入表头
    csvwriter.writerows([['Alice', 24, 'New York'], ['Bob', 30, 'Los Angeles']])  # 写入多行数据

# 使用csv.DictWriter写入带有表头的CSV文件
fieldnames = ['Name', 'Age', 'City']
with open('new_example_with_header.csv', 'w', newline='', encoding='utf-8') as csvfile:
    csvwriter = csv.DictWriter(csvfile, fieldnames=fieldnames)
    csvwriter.writeheader()  # 写入表头
    csvwriter.writerow({'Name': 'Charlie', 'Age': 28, 'City': 'Chicago'})  # 写入一行数据
    csvwriter.writerows([{'Name': 'David', 'Age': 35, 'City': 'Houston'},
                         {'Name': 'Eve', 'Age': 22, 'City': 'Phoenix'}])  # 写入多行数据

Python中怎样实现读取写入CSV文件?

重点总结

  • 读取CSV文件:利用csv.reader()csv.DictReader()遍历文件中的每一行。
  • 写入CSV文件:使用csv.writer()csv.DictWriter()将数据写入CSV文件,通过writerow()writerows()方法实现。
  • 文件打开模式:读取时使用'r',写入时使用'w',并确保设置newline=''来防止在不同操作系统中换行符的差异。
  • 编码问题:在处理非英文数据时,建议明确指定encoding='utf-8'或其他合适的编码,以避免编码错误。

推荐文章