下面是Python写入数据到CSV或XLSX文件的三种方法的完整实例教程,过程中包含两条示例说明:
1. Python写入CSV文件
步骤1:导入CSV模块
要将数据写入CSV文件,我们需要先导入CSV模块。
import csv
步骤2:准备数据
在将数据写入CSV文件之前,首先需要准备数据。以下是使用Python列表准备数据的示例:
data = [
["Name", "Age", "Gender"],
["Tom", 25, "Male"],
["Amy", 20, "Female"],
["John", 30, "Male"]
]
这里我们创建一个包含标题和数据的二维列表。
步骤3:打开CSV文件并写入数据
接下来,我们需要在Python中打开CSV文件并将数据写入文件。以下是写入数据的示例代码:
with open("data.csv", "w", newline="", encoding="utf-8-sig") as file:
writer = csv.writer(file)
writer.writerows(data)
我们使用open()
函数打开名为data.csv
的文件,并将w
作为模式参数传递,表示写模式。接着,我们使用csv.writer()
方法创建一个写入器对象,然后使用writerows()
方法将数据写入文件中。在使用open()
函数时,我们还传递了newline
和encoding
参数。newline
参数避免在写入CSV文件时出现空行,encoding
参数指定文件的编码格式为UTF-8。
示例1:写入学生信息到CSV文件
以下是一个总结学生信息的示例代码:
import csv
students = [
["Name", "Age", "Class"],
["Tom", 18, "Class 1"],
["Amy", 19, "Class 2"],
["John", 18, "Class 1"]
]
with open("students.csv", "w", newline="", encoding="utf-8-sig") as file:
writer = csv.writer(file)
writer.writerows(students)
print("CSV文件已成功写入。")
这将创建一个名为students.csv
的CSV文件,其中包含学生姓名、年龄和班级等信息。
2. Python写入XLSX文件
步骤1:安装openpyxl库
如果要将数据写入XLSX文件,我们需要使用第三方库openpyxl。可以通过以下命令安装:
pip install openpyxl
步骤2:导入openpyxl模块
导入openpyxl库中的Workbook
和load_workbook
方法:
from openpyxl import Workbook, load_workbook
步骤3:准备数据
在将数据写入XLSX文件之前,首先需要准备数据。以下是使用Python列表准备数据的示例:
data = [
["Name", "Age", "Gender"],
["Tom", 25, "Male"],
["Amy", 20, "Female"],
["John", 30, "Male"]
]
这里我们创建一个包含标题和数据的二维列表。
步骤4:打开XLSX文件并写入数据
接下来,我们需要在Python中打开XLSX文件并将数据写入文件。以下是写入数据的示例代码:
workbook = Workbook()
sheet = workbook.active
for row in data:
sheet.append(row)
workbook.save(filename="data.xlsx")
首先,我们使用Workbook()
方法创建一个XLSX文件,然后使用active
属性选中工作表。接着,我们使用append()
方法将数据添加到工作表中。最后,使用save()
方法保存文件并指定文件名。
示例2:写入成绩到XLSX文件
以下是将学生成绩写入XLSX文件的示例代码:
from openpyxl import Workbook
scores = {
"Tom": [85, 90, 92],
"Amy": [75, 80, 85],
"John": [92, 88, 89]
}
workbook = Workbook()
sheet = workbook.active
sheet["A1"] = "Name"
sheet["B1"] = "Math"
sheet["C1"] = "English"
sheet["D1"] = "History"
row = 2
for name in scores:
sheet.cell(row=row, column=1, value=name)
sheet.cell(row=row, column=2, value=scores[name][0])
sheet.cell(row=row, column=3, value=scores[name][1])
sheet.cell(row=row, column=4, value=scores[name][2])
row += 1
workbook.save(filename="scores.xlsx")
print("XLSX文件已成功写入。")
这将创建一个名为scores.xlsx
的XLSX文件,其中包含学生姓名和数学、英语、历史三门课的成绩信息。