推荐答案
// www.javascriptcn.com code example
import csv
# 读取 CSV 文件
with open('example.csv', mode='r', newline='', encoding='utf-8') as file:
reader = csv.reader(file)
for row in reader:
print(row)
# 写入 CSV 文件
with open('output.csv', mode='w', newline='', encoding='utf-8') as file:
writer = csv.writer(file)
writer.writerow(['Name', 'Age', 'City'])
writer.writerow(['Alice', '24', 'New York'])
writer.writerow(['Bob', '30', 'Los Angeles'])本题详细解读
1. 导入 csv 模块
Python 的 csv 模块提供了处理 CSV 文件的功能。首先需要导入该模块:
import csv
2. 读取 CSV 文件
使用 csv.reader 对象可以逐行读取 CSV 文件的内容。csv.reader 返回一个迭代器,每次迭代返回一行数据,数据以列表形式返回。
with open('example.csv', mode='r', newline='', encoding='utf-8') as file:
reader = csv.reader(file)
for row in reader:
print(row)open('example.csv', mode='r', newline='', encoding='utf-8'):打开 CSV 文件,mode='r'表示读取模式,newline=''用于避免在不同操作系统上出现换行符问题,encoding='utf-8'指定文件编码。csv.reader(file):创建一个csv.reader对象,用于读取文件内容。for row in reader:逐行读取文件内容,row是一个列表,包含当前行的所有字段。
3. 写入 CSV 文件
使用 csv.writer 对象可以将数据写入 CSV 文件。csv.writer 提供了 writerow 方法,用于写入一行数据。
with open('output.csv', mode='w', newline='', encoding='utf-8') as file:
writer = csv.writer(file)
writer.writerow(['Name', 'Age', 'City'])
writer.writerow(['Alice', '24', 'New York'])
writer.writerow(['Bob', '30', 'Los Angeles'])open('output.csv', mode='w', newline='', encoding='utf-8'):打开或创建 CSV 文件,mode='w'表示写入模式,如果文件已存在则覆盖。csv.writer(file):创建一个csv.writer对象,用于写入文件内容。writer.writerow(['Name', 'Age', 'City']):写入一行数据,参数是一个列表,列表中的每个元素对应 CSV 文件中的一个字段。
4. 其他功能
csv 模块还提供了其他功能,如处理包含标题行的 CSV 文件(使用 csv.DictReader 和 csv.DictWriter),以及自定义分隔符、引号字符等。这些功能可以根据具体需求进行使用。
// www.javascriptcn.com code example
# 使用 DictReader 读取带有标题行的 CSV 文件
with open('example.csv', mode='r', newline='', encoding='utf-8') as file:
reader = csv.DictReader(file)
for row in reader:
print(row['Name'], row['Age'], row['City'])
# 使用 DictWriter 写入带有标题行的 CSV 文件
with open('output.csv', mode='w', newline='', encoding='utf-8') as file:
fieldnames = ['Name', 'Age', 'City']
writer = csv.DictWriter(file, fieldnames=fieldnames)
writer.writeheader()
writer.writerow({'Name': 'Alice', 'Age': '24', 'City': 'New York'})
writer.writerow({'Name': 'Bob', 'Age': '30', 'City': 'Los Angeles'})