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读取本地文件
Java方法栈日志的艺术:从错误定位到性能优化的深度指南
https://www.shuihudhg.cn/133725.html
PHP 获取本机端口的全面指南:实践与技巧
https://www.shuihudhg.cn/133724.html
Python内置函数:从核心原理到高级应用,精通Python编程的基石
https://www.shuihudhg.cn/133723.html
Java Stream转数组:从基础到高级,掌握高性能数据转换的艺术
https://www.shuihudhg.cn/133722.html
深入解析:基于Java数组构建简易ATM机系统,从原理到代码实践
https://www.shuihudhg.cn/133721.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