怎么用csv编程

时间:2025-01-24 19:52:51 网络游戏

使用CSV文件进行编程主要涉及两个步骤:读取CSV文件和写入CSV文件。以下是使用Python的csv模块进行文件操作的基本方法:

读取CSV文件

打开文件:

使用`open()`函数以二进制读取模式('rb')打开CSV文件。

创建CSV阅读器:

使用`csv.reader()`函数创建一个CSV阅读器对象。

遍历文件内容:

使用`for`循环遍历CSV文件的每一行。

示例代码:

```python

import csv

打开CSV文件

with open('test.csv', 'rb') as myFile:

lines = csv.reader(myFile)

for line in lines:

print(line)

```

写入CSV文件

打开文件:

使用`open()`函数以二进制写入模式('wb')打开CSV文件。

创建CSV写入器:

使用`csv.writer()`函数创建一个CSV写入器对象。

写入单行数据:

使用`writerow()`方法写入单行数据。

写入多行数据:

使用`writerows()`方法写入多行数据。

示例代码:

```python

import csv

写入单行数据

with open('text01.csv', 'wb') as myFile:

mywriter = csv.writer(myFile)

mywriter.writerow([1, 'a'])

mywriter.writerow([2, 'b'])

写入多行数据

lists = [[3, 5], [4, 6]]

with open('text01.csv', 'wb') as myFile:

mywriter = csv.writer(myFile)

mywriter.writerows(lists)

```

自定义分隔符和引用

可以通过`csv.register_dialect()`方法注册自定义的分隔符和引用风格。

示例代码:

```python

import csv

注册自定义分隔符

csv.register_dialect('mydialect', delimiter='|', quoting=csv.QUOTE_ALL)

使用自定义分隔符读取文件

with open('text.csv', 'rb') as myFile:

lines = csv.reader(myFile, csv.dialect='mydialect')

for line in lines:

print(line)

```

使用DictWriter

`DictWriter`对象允许你以字典格式写入数据,其中键是列名,值是要写入的数据。

示例代码:

```python

import csv

title = ['学号', '姓名', '成绩']

info = [[1, 'Rose', 89.0], [2, 'Jack', 95.0]]

with open('output.csv', 'w', newline='') as file:

writer = csv.DictWriter(file, fieldnames=title)

writer.writeheader()

writer.writerows(info)

```

异步读取CSV文件

如果你需要处理大量数据,可以使用`aiocsv`库进行异步读取。

示例代码:

```python

import asyncio

import aiofiles

from aiocsv import AsyncReader

async def read_csv_example():

async with aiofiles.open('users.csv', mode='r', encoding='utf-8') as f:

async for row in AsyncReader(f):

print(row)

asyncio.run(read_csv_example())

```

这些示例展示了如何使用Python的csv模块进行基本的CSV文件读写操作。根据你的具体需求,你可以选择不同的方法和参数来处理CSV文件。