写一个python的函数代码可以遍历csv文件并保存成为一个列表或者字典
时间: 2024-02-12 14:08:40 浏览: 70
当然可以,下面是一个简单的Python函数代码示例,可以读取CSV文件并将其保存为列表或字典:
```python
import csv
def read_csv(file_path, is_dict=False):
data = []
with open(file_path, newline='') as csvfile:
reader = csv.reader(csvfile)
headers = None
for row in reader:
if not headers:
headers = row
continue
if is_dict:
data.append({headers[i]: row[i] for i in range(len(headers))})
else:
data.append(row)
return data
```
该函数接受两个参数:文件路径和一个可选的布尔值,用于指定返回列表还是字典。如果 `is_dict` 参数为 `True`,则返回一个由字典组成的列表,其中每个字典的键是 CSV 文件的标题行中的列名,值是每一行对应列的值。如果 `is_dict` 参数为 `False`,则返回一个由列表组成的列表,其中每个内部列表代表 CSV 文件中的一行。
例如,如果我们有一个名为 `data.csv` 的 CSV 文件,其中包含以下内容:
```
Name,Age,Country
John,25,USA
Jane,30,Canada
Bob,40,UK
```
我们可以使用以下代码读取该文件并将其保存为一个列表:
```python
data = read_csv('data.csv')
print(data)
```
输出:
```
[['John', '25', 'USA'], ['Jane', '30', 'Canada'], ['Bob', '40', 'UK']]
```
如果我们将 `is_dict` 参数设置为 `True`,则会返回一个由字典组成的列表,其中每个字典代表 CSV 文件中的一行:
```python
data = read_csv('data.csv', is_dict=True)
print(data)
```
输出:
```
[{'Name': 'John', 'Age': '25', 'Country': 'USA'}, {'Name': 'Jane', 'Age': '30', 'Country': 'Canada'}, {'Name': 'Bob', 'Age': '40', 'Country': 'UK'}]
```
阅读全文
相关推荐
![-](https://img-home.csdnimg.cn/images/20241231044955.png)
![-](https://img-home.csdnimg.cn/images/20241231044955.png)
![-](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)