CSV(Comma-Separated Values)文件是一种常见的文件格式,用于存储表格数据。
CSV 文件由纯文本组成,每一行代表表格中的一行数据,而每一列则通过逗号(或其他分隔符)分隔。
CSV 文件通常用于数据交换,因为它简单且易于处理。
Python 提供了一个内置的 csv 模块,用于读取和写入 CSV 文件。这个模块简化了处理 CSV 文件的过程,使得开发者可以轻松地操作表格数据。
csv
1. 读取 CSV 文件
要读取 CSV 文件,可以使用 csv.reader 对象。以下是一个简单的示例:
csv.reader
代码解释:
open('data.csv', mode='r', encoding='utf-8')
data.csv
csv.reader(file)
for row in csv_reader
2. 写入 CSV 文件
要写入 CSV 文件,可以使用 csv.writer 对象。以下是一个示例:
csv.writer
open('output.csv', mode='w', encoding='utf-8', newline='')
output.csv
newline=''
csv.writer(file)
csv_writer.writerow(row)
3. 使用字典读取和写入 CSV 文件
csv 模块还提供了 DictReader 和 DictWriter 类,它们可以将 CSV 文件的每一行解析为字典,或者将字典写入 CSV 文件。
DictReader
DictWriter
使用 DictReader 读取 CSV 文件:
使用 DictWriter 写入 CSV 文件:
常用的属性和方法
csv 模块核心方法
csv.reader()
reader = csv.reader(file)
csv.writer()
writer = csv.writer(file)
csv.DictReader()
dict_reader = csv.DictReader(file)
csv.DictWriter()
dict_writer = csv.DictWriter(file, fieldnames)
csv.register_dialect()
csv.register_dialect('mydialect', delimiter='|')
csv.unregister_dialect()
csv.unregister_dialect('mydialect')
csv.list_dialects()
print(csv.list_dialects())
csv.reader 和 csv.writer 对象常用方法
__next__()
for
reader
writerow(row)
writer
writerows(rows)
csv.DictReader 和 csv.DictWriter 对象特性
fieldnames
dict_reader.fieldnames
writeheader()
dict_writer.writeheader()
常用参数说明
delimiter
','
'\t'
reader/writer
quotechar
'"'
quoting
csv.QUOTE_ALL
skipinitialspace
True
False
lineterminator
'\r\n'
dialect
'excel'
实例
3. 使用 DictReader 和 DictWriter(带表头)
4. 自定义方言(如处理 TSV 文件)