python读取csv用csv.dictreader
时间: 2024-04-01 16:29:38 浏览: 105
Python中可以使用csv模块的DictReader函数来读取CSV文件并将其转换为字典形式。DictReader函数可以按行读取CSV文件,并将每一行的数据转换为一个字典,其中字典的键是CSV文件的列名,值是对应列的值。
以下是使用csv.DictReader读取CSV文件的示例代码:
```python
import csv
# 打开CSV文件
with open('data.csv', 'r') as file:
# 创建DictReader对象
reader = csv.DictReader(file)
# 遍历每一行数据
for row in reader:
# 使用字典的键来访问对应的值
print(row['列名1'], row['列名2'], row['列名3'])
```
在上面的代码中,我们首先使用`open`函数打开CSV文件,并指定模式为`'r'`(只读)。然后,我们创建了一个DictReader对象,将打开的文件传递给它。接下来,我们可以使用`for`循环遍历每一行数据,并通过字典的键来访问对应的值。
请注意,`row`是一个字典对象,其中的键是CSV文件的列名,值是对应列的值。你可以根据实际情况修改代码中的列名。
相关问题
利用python代码读取csv或者csv.gz
读取 CSV 文件可以使用 Python 内置的 csv 模块,而读取 CSV 压缩文件则需要使用 gzip 模块。下面是读取 CSV 和 CSV 压缩文件的示例代码:
1. 读取 CSV 文件
```python
import csv
with open('example.csv', 'r') as csv_file:
csv_reader = csv.reader(csv_file)
for row in csv_reader:
print(', '.join(row))
```
在上面的示例中,我们使用 `csv.reader` 函数读取名为 `example.csv` 的 CSV 文件,并在控制台上打印每一行内容。
2. 读取 CSV 压缩文件
```python
import csv
import gzip
with gzip.open('example.csv.gz', 'rt') as csv_file:
csv_reader = csv.reader(csv_file)
for row in csv_reader:
print(', '.join(row))
```
在上面的示例中,我们使用 `gzip.open` 函数读取名为 `example.csv.gz` 的压缩的 CSV 文件,并在控制台上打印每一行内容。
值得注意的是,当使用 `gzip.open` 打开文件时,需要将文件模式设置为 `'rt'`,以便能够读取文本文件。
利用python代码读取csv或者csv.gz为dataframe
要将 CSV 或 CSV 压缩文件读取为 DataFrame,可以使用 pandas 库。pandas 提供了 `read_csv()` 函数,该函数可以读取 CSV 或 CSV 压缩文件,并将其转换为 DataFrame。下面是读取 CSV 和 CSV 压缩文件为 DataFrame 的示例代码:
1. 读取 CSV 文件为 DataFrame
```python
import pandas as pd
df = pd.read_csv('example.csv')
print(df)
```
在上面的示例中,我们使用 `read_csv()` 函数读取名为 `example.csv` 的 CSV 文件,并将其转换为 DataFrame。然后,我们使用 `print()` 函数打印 DataFrame。
2. 读取 CSV 压缩文件为 DataFrame
```python
import pandas as pd
import gzip
with gzip.open('example.csv.gz', 'rt') as csv_file:
df = pd.read_csv(csv_file)
print(df)
```
在上面的示例中,我们使用 `gzip.open` 函数读取名为 `example.csv.gz` 的压缩的 CSV 文件,并将其转换为 DataFrame。然后,我们使用 `print()` 函数打印 DataFrame。
需要注意的是,当使用 `gzip.open` 打开文件时,需要将文件模式设置为 `'rt'`,以便能够读取文本文件。
阅读全文