在Python中,我们可以使用内置的csv模块来读取和写入CSV文件,以下是详细的技术介绍:
csv模块简介
csv模块是Python的标准库之一,提供了用于读写CSV(逗号分隔值)文件的功能,CSV文件是一种简单的文本文件,其中数据以逗号分隔,每行表示一个数据记录,通过使用csv模块,我们可以轻松地将数据存储到CSV文件中,以及从CSV文件中读取数据并将其转换为Python数据结构。
csv模块的常用方法
1、csv.reader()
csv.reader()
函数用于从CSV文件中读取数据,它返回一个迭代器,每次迭代返回一个包含一行数据的列表,列表中的每个元素都是一个字符串,表示该单元格的内容。
示例代码:
import csv with open('example.csv', 'r') as csvfile: reader = csv.reader(csvfile) for row in reader: print(row)
2、csv.writer()
csv.writer()
函数用于将数据写入CSV文件,它接受两个参数:第一个参数是一个可写的文件对象,第二个参数是一个可选的字段名列表,用于指定每列的标题。
示例代码:
import csv data = [['Name', 'Age', 'City'], ['Alice', 30, 'New York'], ['Bob', 25, 'San Francisco']] with open('output.csv', 'w', newline='') as csvfile: writer = csv.writer(csvfile) for row in data: writer.writerow(row)
3、csv.DictReader()和csv.DictWriter()
csv.DictReader()
和csv.DictWriter()
分别用于将数据读取为字典对象和将字典对象写入CSV文件,这两个方法都接受一个文件对象作为参数,但它们会自动将每行数据的每个单元格解析为一个键值对,其中键是字段名,值是单元格内容,这使得我们可以使用字段名而不是索引来访问数据。
示例代码:
import csv data = [{'Name': 'Alice', 'Age': 30, 'City': 'New York'}, {'Name': 'Bob', 'Age': 25, 'City': 'San Francisco'}] header = ['Name', 'Age', 'City'] with open('output.csv', 'w', newline='') as csvfile: fieldnames = header + ['ID'] Add an ID field to the header writer = csv.DictWriter(csvfile, fieldnames=fieldnames) writer.writeheader() for row in data: row['ID'] = len(data) + 1 Add an ID to each row (just an example) writer.writerow(row)
相关问题与解答
1、如何处理CSV文件中的空行?
答:csv.reader()
和csv.writer()
默认会跳过空行,如果需要保留空行,可以在打开文件时设置skipinitialspace=True
参数。
import csv with open('example.csv', 'r', skipinitialspace=True) as csvfile: reader = csv.reader(csvfile) ...
原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/218901.html