下面是如何在Python对Excel进行读取的完整实例教程。
1. 安装依赖库
使用Python读取Excel需要使用第三方库openpyxl,因此需要先安装此库。可使用以下命令进行安装:
pip install openpyxl
2. 打开Excel文件
使用openpyxl库,可使用下面的代码打开一个Excel文件:
import openpyxl
# 打开Excel文件
wb = openpyxl.load_workbook('example.xlsx')
这个例子中假设example.xlsx文件在当前目录中。如果文件在其他目录中,需要使用文件的完整路径。
3. 获取sheet
使用openpyxl库可以读取Excel文件中的多个sheet。可以通过workbook对象的sheetnames属性获取所有sheet的名称,同时也可以使用get_sheet_by_name()方法获取指定名称的sheet。
下面的代码展示了如何获取一个sheet:
# 获取指定名称的sheet
sheet = wb['Sheet1']
这个例子中获取名为“Sheet1”的sheet。如果要获取其他名称的sheet,需要使用不同的名称替换“Sheet1”。
4. 获取单元格的值
在获取sheet之后,可使用cell()方法获取指定单元格的值。此方法需要传递单元格的行和列,如下面的代码所示:
# 获取单元格的值
cell_value = sheet.cell(row=1, column=1).value
print(cell_value)
这个例子中获取第一行第一列单元格的值,并打印输出。
5. 遍历sheet中的所有行
读取Excel文件中的所有数据需要遍历sheet中的所有行。在openpyxl库中,可以使用iter_rows()方法获取sheet中的所有行。
下面的代码展示了如何遍历sheet中的所有行:
# 遍历sheet中的所有行
for row in sheet.iter_rows(values_only=True):
print(row)
这个例子中使用values_only属性在遍历行的同时获取每行的值,并将每行的值打印输出。
示例说明
下面我们来看一下两个读取Excel的示例说明。
示例1:读取Excel并将数据写入CSV文件
这个示例中,我们将会读取一个Excel文件中的所有数据,并将数据写入一个CSV文件。
import openpyxl
import csv
# 打开Excel文件
wb = openpyxl.load_workbook('example.xlsx')
# 获取指定名称的sheet
sheet = wb['Sheet1']
# 获取sheet中的所有行
rows = sheet.iter_rows(values_only=True)
# 写入CSV文件
with open('example.csv', 'w', newline='') as f:
writer = csv.writer(f)
for row in rows:
writer.writerow(row)
示例2:将Excel数据导入MySQL数据库
这个示例中,我们将会读取一个Excel文件中的所有数据,并将数据插入到一个MySQL数据库中。
import openpyxl
import mysql.connector
# 打开Excel文件
wb = openpyxl.load_workbook('example.xlsx')
# 获取指定名称的sheet
sheet = wb['Sheet1']
# 获取sheet中的所有行
rows = sheet.iter_rows(values_only=True)
# 连接MySQL数据库
cnx = mysql.connector.connect(user='user', password='password', host='localhost', database='example_db')
cursor = cnx.cursor()
# 插入数据
for row in rows:
add_data = ('INSERT INTO example_table '
'(column1, column2, column3) '
'VALUES (%s, %s, %s)')
cursor.execute(add_data, row)
cnx.commit()
cursor.close()
cnx.close()
这个示例中连接的MySQL数据库需要替换为实际使用的数据库。同时也需要替换INSERT INTO语句中的表名和列名,以及最后的VALUES中的占位符。