下面是详细讲解“如何在Python中导入EXCEL数据”的完整实例教程。
1. 安装依赖包
在 Python 中导入 Excel 数据需要使用 openpyxl
或者 pandas
库。如果你之前没有安装过这两个库,可以使用以下命令进行安装:
pip install openpyxl
pip install pandas
2. 导入 Excel 文件
2.1 使用 openpyxl 库
如果要使用 openpyxl 库,可以使用以下代码来导入 Excel 文件:
import openpyxl
# 打开Excel文件
workbook = openpyxl.load_workbook('example.xlsx')
# 选择要读取的工作表
worksheet = workbook['Sheet1']
# 读取其中一个单元格
cell_value = worksheet['A1'].value
print('A1 单元格的内容是:', cell_value)
# 读取整个工作表中的数据
for row in worksheet.iter_rows():
for cell in row:
print(cell.value, end=' ')
print()
代码解释:
- 使用
openpyxl
库中的load_workbook
函数打开 Excel 文件,该函数需要传入 Excel 文件的路径,本例中 Excel 文件名为example.xlsx
; - 使用
workbook['Sheet1']
选择要读取的工作表,本例中选择的是名字为Sheet1
的工作表; - 使用
worksheet['A1'].value
读取A1
单元格中的值; - 使用
for
循环读取整个工作表中的数据,使用iter_rows()
函数获取每一行的值,并在内部的循环里通过cell.value
读取每个单元格中的值。
2.2 使用 pandas 库
如果要使用 pandas 库,可以使用以下代码来导入 Excel 文件:
import pandas as pd
# 读取 Excel 文件中的数据
df = pd.read_excel('example.xlsx', sheet_name='Sheet1', index_col=None, header=None)
# 输出 DataFrame 中的数据
print(df)
代码解释:
- 使用
pd.read_excel
函数读取 Excel 文件,该函数需要传入 Excel 文件的路径及其他参数,例如本例中的 sheet_name 表示选择的工作表名字,index_col=None 表示不需要使用任何索引,header=None 表示不需要使用表头; - 将读取到的数据存储到 DataFrame 对象中;
- 使用
print(df)
输出 DataFrame 中的数据。
3. 示例说明
3.1 示例一
假设你有一个 Excel 文件,其中数据如下:
姓名 | 年龄 | 性别 |
---|---|---|
小明 | 20 | 男 |
小红 | 18 | 女 |
小刚 | 21 | 男 |
你可以使用以下代码读取该 Excel 文件:
import openpyxl
# 打开Excel文件
workbook = openpyxl.load_workbook('student.xlsx')
# 选择要读取的工作表
worksheet = workbook['Sheet1']
# 读取整个工作表中的数据
for row in worksheet.iter_rows():
for cell in row:
print(cell.value, end=' ')
print()
输出结果为:
姓名 年龄 性别
小明 20 男
小红 18 女
小刚 21 男
3.2 示例二
假设你有一个 Excel 文件,其中数据如下:
小说名称 | 作者 | 发布时间 |
---|---|---|
飘 | MKA | 2010/1/1 |
明朝那些事儿 | 马克 | 2009/5/1 |
岛上书店 | GAO | 2011/6/1 |
百年孤独 | GBJ | 2009/3/1 |
你可以使用以下代码读取该 Excel 文件:
import pandas as pd
# 读取 Excel 文件中的数据
df = pd.read_excel('books.xlsx', sheet_name='Sheet1', index_col=None, header=None)
# 输出 DataFrame 中的数据
print(df)
输出结果为:
0 1 2
0 飘 MKA 2010-01-01
1 明朝那些事儿 马克 2009-05-01
2 岛上书店 GAO 2011-06-01
3 百年孤独 GBJ 2009-03-01
需要注意的是,在读取时将时间格式转化为了标准的 2021-01-01
的格式。