返回
Python操作Excel:终极攻略,助你从小白变高手
后端
2022-12-10 16:43:25
用 Python 精通 Excel 操作:全面指南
简介
Excel 是一款强大的电子表格工具,可广泛用于数据处理。但是,对于庞大的数据集或复杂的分析,手动操作 Excel 可能效率低下且容易出错。这时,Python 凭借其强大的功能,可以为 Excel 自动化带来无限可能。
Python 中的 Excel 操作利器
Python 中操作 Excel 的利器包括:
- Pandas: 用于轻松读取、处理和分析 Excel 数据。
- xlrd: 专门用于读取 Excel 文件。
- xlwt: 专门用于写入 Excel 文件。
读取 Excel 文件
import pandas as pd
# 读取 Excel 文件
df = pd.read_excel('data.xlsx')
# 打印数据框
print(df)
添加数据到 Excel 文件
# 添加一行数据
df.loc[len(df)] = [10, 'John', 'Doe']
# 添加多行数据
df = df.append({'id': 11, 'first_name': 'Jane', 'last_name': 'Doe'}, ignore_index=True)
# 保存 Excel 文件
df.to_excel('data.xlsx', index=False)
追加数据到 Excel 文件
# 追加数据到现有 Excel 文件
with pd.ExcelWriter('data.xlsx', mode='a') as writer:
df.to_excel(writer, index=False, header=False, startrow=writer.sheets['Sheet1'].max_row)
删除数据
# 删除一行数据
df.drop(index=0, inplace=True)
# 删除多行数据
df = df.drop([0, 1], axis=0)
# 删除一列数据
df.drop('id', axis=1, inplace=True)
# 保存 Excel 文件
df.to_excel('data.xlsx', index=False)
重复值处理
# 查找重复值
duplicate_rows = df[df.duplicated()]
# 删除重复值
df.drop_duplicates(inplace=True)
# 保存 Excel 文件
df.to_excel('data.xlsx', index=False)
缺失值处理
# 查看缺失值的数量
print(df.isnull().sum())
# 删除缺失值的行
df.dropna(inplace=True)
# 用特定值填充缺失值
df.fillna(0, inplace=True)
# 保存 Excel 文件
df.to_excel('data.xlsx', index=False)
获取行数和列数
# 获取行数
num_rows = df.shape[0]
# 获取列数
num_cols = df.shape[1]
# 打印行数和列数
print(f"Number of rows: {num_rows}")
print(f"Number of columns: {num_cols}")
获取一行和一列数据
# 获取第一行数据
first_row = df.iloc[0]
# 获取最后一列数据
last_column = df.iloc[:, -1]
# 打印第一行和最后一列数据
print(f"First row: {first_row}")
print(f"Last column: {last_column}")
常见问题解答
1. 如何在 Python 中创建新的 Excel 文件?
import xlwt
# 创建一个新的工作簿
workbook = xlwt.Workbook()
# 添加一个工作表
worksheet = workbook.add_sheet('Sheet1')
# 保存工作簿
workbook.save('new_data.xlsx')
2. 如何从特定单元格读取 Excel 数据?
import xlrd
# 打开 Excel 文件
workbook = xlrd.open_workbook('data.xlsx')
# 获取工作表
worksheet = workbook.sheet_by_name('Sheet1')
# 读取特定单元格的值
value = worksheet.cell(0, 0).value
3. 如何设置 Excel 单元格格式?
import xlwt
# 创建一个新的工作簿
workbook = xlwt.Workbook()
# 添加一个工作表
worksheet = workbook.add_sheet('Sheet1')
# 设置单元格格式
style = xlwt.easyxf('font: bold on')
# 写入单元格并应用格式
worksheet.write(0, 0, 'Bold Text', style)
# 保存工作簿
workbook.save('formatted_data.xlsx')
4. 如何使用 Python 从 Excel 中提取图像?
import openpyxl
# 打开 Excel 文件
workbook = openpyxl.load_workbook('data.xlsx')
# 获取工作表
worksheet = workbook['Sheet1']
# 获取图片
image = worksheet.find('A1').graphic
# 另存图像
image.save('image.png')
5. 如何使用 Python 在 Excel 中创建图表?
import pandas as pd
import matplotlib.pyplot as plt
# 读取 Excel 数据
df = pd.read_excel('data.xlsx')
# 创建图表
plt.figure(figsize=(10, 6))
plt.plot(df['x'], df['y'])
plt.xlabel('X')
plt.ylabel('Y')
plt.title('Scatter Plot')
# 保存图表
plt.savefig('scatter_plot.png')