Python 处理 CSV 数据:全面指南335
CSV(逗号分隔值)文件是一种广泛用于存储表格式数据的文本文件格式。由于其简单性和跨平台兼容性,它经常用于数据交换和分析。本文将详细介绍如何使用 Python 处理 CSV 数据,包括读取、写入、解析和操作。
读取 CSV 文件
要读取 CSV 文件,可以使用 Python 的内置 `csv` 模块。`` 函数返回一个读取器的对象,可以逐行迭代文件中的数据记录。```python
import csv
with open('', 'r') as f:
reader = (f)
for row in reader:
print(row)
```
写入 CSV 文件
要写入 CSV 文件,可以使用 `` 函数返回一个写入器对象,该对象将数据写入文件。```python
import csv
with open('', 'w') as f:
writer = (f)
(['姓名', '年龄', '城市'])
(['约翰', '30', '纽约'])
(['玛丽', '25', '洛杉矶'])
```
解析 CSV 数据
解析 CSV 数据涉及将文本值转换为所需的格式。`csv` 模块提供了几个参数来定制解析过程,例如分隔符、引号和转义字符。```python
import csv
with open('', 'r') as f:
reader = (f, delimiter=';', quotechar='"', escapechar='\\')
for row in reader:
print(row)
```
操作 CSV 数据
一旦 CSV 数据被解析,就可以对其进行操作,例如筛选、排序和聚合。筛选
```python
import csv
from collections import namedtuple
Row = namedtuple('Row', ['name', 'age', 'city'])
with open('', 'r') as f:
reader = (f)
rows = [Row(*row) for row in reader]
filtered_rows = [row for row in rows if > 25]
```
排序
```python
import csv
from operator import itemgetter
with open('', 'r') as f:
reader = (f)
rows = list(reader)
sorted_rows = sorted(rows, key=itemgetter(1))
```
聚合
```python
import csv
from collections import Counter
with open('', 'r') as f:
reader = (f)
counts = Counter(row[2] for row in reader)
```
使用第三方库
还有一些第三方库提供了高级的 CSV 处理功能,例如 Pandas 和 csvkit。Pandas
```python
import pandas as pd
df = pd.read_csv('')
df[['name', 'age']].groupby('name').mean()
```
csvkit
```
csvgrep -c age -r ">25"
```
Python 为处理 CSV 数据提供了广泛的工具和功能。本文介绍了读取、写入、解析和操作 CSV 数据的基本技术。通过利用这些技术,开发人员可以有效地处理和分析大型数据集。
2024-10-16
上一篇:Python读取本地文件
Python字符串查找与判断:从基础到高级的全方位指南
https://www.shuihudhg.cn/134118.html
C语言如何高效输出字符串“inc“?深度解析printf、puts及格式化输出
https://www.shuihudhg.cn/134117.html
PHP高效获取CSV文件行数:从小型文件到海量数据的最佳实践与性能优化
https://www.shuihudhg.cn/134116.html
C语言控制台图形输出:从入门到精通的ASCII艺术实践
https://www.shuihudhg.cn/134115.html
Python在Linux环境下的执行与自动化:从基础到高级实践
https://www.shuihudhg.cn/134114.html
热门文章
Python 格式化字符串
https://www.shuihudhg.cn/1272.html
Python 函数库:强大的工具箱,提升编程效率
https://www.shuihudhg.cn/3366.html
Python向CSV文件写入数据
https://www.shuihudhg.cn/372.html
Python 静态代码分析:提升代码质量的利器
https://www.shuihudhg.cn/4753.html
Python 文件名命名规范:最佳实践
https://www.shuihudhg.cn/5836.html