Python读写csv文件
发布人:shili8
发布时间:2025-02-18 02:42
阅读次数:0
**Python读写 CSV 文件**
CSV(Comma Separated Values)是最常用的数据交换格式之一。它以纯文本形式存储表格数据,易于阅读和编辑。在 Python 中,我们可以使用 `csv` 模块来读取和写入 CSV 文件。
###1. 导入 csv 模块首先,我们需要导入 `csv` 模块:
import csv
###2.读取 CSV 文件要读取 CSV 文件,我们可以使用 `reader()` 函数。这个函数返回一个迭代器,用于逐行读取 CSV 文件中的数据。
with open('example.csv', 'r') as csvfile: reader = csv.reader(csvfile) for row in reader: print(row)
在上面的例子中,我们打开了一个名为 `example.csv` 的 CSV 文件,并使用 `reader()` 函数读取其中的数据。每行数据都被存储在一个列表中,列表中的元素就是 CSV 文件中的一列。
###3. 使用 DictReader()
如果 CSV 文件的第一行是表头,我们可以使用 `DictReader()` 来读取 CSV 文件。这个函数返回一个迭代器,每个元素都是一个字典,键为表头,值为对应列的数据。
with open('example.csv', 'r') as csvfile: reader = csv.DictReader(csvfile) for row in reader: print(row['name'], row['age'])
在上面的例子中,我们使用 `DictReader()`读取 CSV 文件,得到一个字典,每个字典代表一行数据。我们可以通过键来访问每列的值。
###4. 写入 CSV 文件要写入 CSV 文件,我们可以使用 `writer()` 函数。这个函数返回一个对象,用于向 CSV 文件中写入数据。
with open('example.csv', 'w') as csvfile: writer = csv.writer(csvfile) writer.writerow(['name', 'age']) writer.writerow(['John',25])
在上面的例子中,我们打开了一个名为 `example.csv` 的 CSV 文件,并使用 `writer()` 函数写入其中的数据。我们首先写入表头,然后写入一行数据。
###5. 使用 DictWriter()
如果我们需要写入 CSV 文件的表头和每行数据的键值对,我们可以使用 `DictWriter()`。
with open('example.csv', 'w') as csvfile: writer = csv.DictWriter(csvfile, fieldnames=['name', 'age']) writer.writeheader() writer.writerow({'name': 'John', 'age':25})
在上面的例子中,我们使用 `DictWriter()` 写入 CSV 文件,首先写入表头,然后写入一行数据。
###6. 使用 csv.Sniffer()
如果我们需要检测 CSV 文件的编码和分隔符,我们可以使用 `csv.Sniffer()`。
import csvwith open('example.csv', 'r') as csvfile: dialect = csv.Sniffer().sniff(csvfile.read()) print(dialect.delimiter)
在上面的例子中,我们打开了一个名为 `example.csv` 的 CSV 文件,并使用 `csv.Sniffer()` 检测其编码和分隔符。
###7. 使用 csv.register()
如果我们需要注册自定义的 CSV dialect,我们可以使用 `csv.register()`。
import csvclass MyDialect(csv.Dialect): delimiter = ',' quotechar = '"' csv.register('mydialect', MyDialect)
在上面的例子中,我们定义了一个名为 `MyDialect` 的 CSV dialect,并注册到 `csv` 模块中。
###8. 使用 csv.unregister()
如果我们需要注销已经注册的 CSV dialect,我们可以使用 `csv.unregister()`。
import csvcsv.unregister('mydialect')
在上面的例子中,我们注销了之前注册的 `MyDialect` CSV dialect。
以上就是 Python读写 CSV 文件的基本方法和示例。通过这些例子,你应该能够轻松地使用 `csv` 模块来处理 CSV 文件。