CSV是一种常用的数据格式,也是许多程序员和数据分析师经常使用的格式之一 。在Python中,我们可以使用标准库中的csv模块来读取和写入CSV文件 。本文将介绍如何使用Python将List写入CSV文件 。
1. 使用csv.writer函数
文章插图
要将List写入CSV文件,我们可以使用csv.writer函数 。csv.writer函数将数据写入CSV文件并返回一个csv.writer对象,可以使用该对象将数据写入文件 。
以下是使用csv.writer函数将List写入CSV文件的示例代码:
```
import csv
data = https://www.ycpai.cn/python/[['John', 'Doe', '25'], ['Jane', 'Doe', '30'], ['Bob', 'Smith', '45']]
with open('data.csv', mode='w', newline='') as file:
writer = csv.writer(file)
writer.writerows(data)
```
在此示例中,我们首先定义了一个包含三个列表的List,每个列表表示一个人的姓名和年龄 。我们使用csv.writer函数将此数据写入名为“data.csv”的文件中 。我们使用mode='w'来指定写入模式,newline=''来指定行结束符,以便在不同操作系统之间保持一致 。
在with语句块中,我们打开文件并将其分配给变量file 。然后,我们使用csv.writer函数创建一个csv.writer对象,将数据写入文件 。最后,我们使用writer.writerows函数将整个列表写入CSV文件 。
2. 使用csv.DictWriter函数
除了使用csv.writer函数,我们还可以使用csv.DictWriter函数将List写入CSV文件 。与csv.writer函数不同,csv.DictWriter函数使用字典而不是列表来表示数据 。字典中的键表示CSV文件中的列名,而值表示CSV文件中的单元格值 。
以下是使用csv.DictWriter函数将List写入CSV文件的示例代码:
```
import csv
data = https://www.ycpai.cn/python/[{'first_name': 'John', 'last_name': 'Doe', 'age': '25'},
{'first_name': 'Jane', 'last_name': 'Doe', 'age': '30'},
{'first_name': 'Bob', 'last_name': 'Smith', 'age': '45'}]
with open('data.csv', mode='w', newline='') as file:
fieldnames = ['first_name', 'last_name', 'age']
writer = csv.DictWriter(file, fieldnames=fieldnames)
writer.writeheader()
for row in data:
writer.writerow(row)
```
在此示例中,我们定义了一个包含三个字典的List,每个字典表示一个人的姓名和年龄 。我们使用csv.DictWriter函数将此数据写入名为“data.csv”的文件中 。
在with语句块中,我们打开文件并将其分配给变量file 。然后,我们使用csv.DictWriter函数创建一个csv.DictWriter对象,并指定包含列名的fieldnames参数 。我们使用writeheader函数写入CSV文件的列名 。
最后,我们使用writerow函数将字典中的值写入CSV文件的每一行 。
3. 处理嵌套List
如果List中包含嵌套的List,则可以使用嵌套的for循环将其展开,并使用csv.writer或csv.DictWriter函数将其写入CSV文件 。
以下是包含嵌套List的示例代码:
```
import csv
data = https://www.ycpai.cn/python/[['John', 'Doe', ['25', 'Male']],
['Jane', 'Doe', ['30', 'Female']],
['Bob', 'Smith', ['45', 'Male']]]
with open('data.csv', mode='w', newline='') as file:
writer = csv.writer(file)
writer.writerow(['First Name', 'Last Name', 'Age', 'Gender'])
for row in data:
flattened_row = [row[0], row[1]] + row[2]
writer.writerow(flattened_row)
```
在此示例中,我们定义了一个包含三个嵌套List的List,每个嵌套List表示一个人的姓名、年龄和性别 。我们使用csv.writer函数将此数据写入名为“data.csv”的文件中 。
在with语句块中,我们打开文件并将其分配给变量file 。我们首先使用writer.writerow函数写入CSV文件的列名 。然后,我们使用for循环遍历每一行,并使用嵌套的for循环展开每个嵌套的List 。我们将展开的行写入CSV文件 。
推荐阅读
- python编写交互界面
- 最近总觉得胸闷气短怎么回事?
- WPS表格怎么将公示结果Value变成0
- Python封装shell命令实例分析
- python怎么提高计算速度
- python实现简易版学生成绩管理系统
- python如何自定义一个函数?
- php运行python脚本失败怎么解决?
- python 读取word
- 如何安装python中git??