1.安装必要的库

在开始之前,确保安装了 pandas 和 openpyxl 这两个库。这两个库是处理 Excel 文件的基础。

pip install pandas openpyxl  

2.读取 Excel 文件

首先,让我们看看如何读取一个 Excel 文件。

import pandas as pd    
# 读取 Excel 文件  
df = pd.read_excel('example.xlsx', engine='openpyxl')    
# 显示前五行数据  
print(df.head())  

输出:

   A    B     C  
0  1  100  1000  
1  2  200  2000  
2  3  300  3000  
3  4  400  4000  
4  5  500  5000

3.写入 Excel 文件

接下来,我们将创建一个新的 DataFrame 并将其写入新的 Excel 文件。

import pandas as pd    
# 创建一个 DataFrame  
data = {  
    'A': [1, 2, 3, 4, 5],  
    'B': [100, 200, 300, 400, 500],  
    'C': [1000, 2000, 3000, 4000, 5000]}  
df = pd.DataFrame(data)    
# 将 DataFrame 写入 Excel 文件  
df.to_excel('output.xlsx', index=False)  

4.选择特定列

有时候我们只需要 Excel 文件中的某些列。

import pandas as pd    
# 读取 Excel 文件  
df = pd.read_excel('example.xlsx', usecols=['A', 'C'])    
# 显示前五行数据  
print(df.head())  

输出:

   A     C  
0  1  1000  
1  2  2000  
2  3  3000  
3  4  4000  
4  5  5000

5.过滤数据

过滤数据可以帮助我们找到特定条件下的记录。

import pandas as pd  
# 读取 Excel 文件  
df = pd.read_excel('example.xlsx')    
# 过滤出 A 列大于 3 的行  
filtered_df = df[df['A'] > 3]    
# 显示过滤后的数据  
print(filtered_df)  

输出:

  A    B     C  
3  4  400  4000  
4  5  500  5000

6.数据排序

排序数据可以让我们更容易地查看数据的趋势。

import pandas as pd    
# 读取 Excel 文件  
df = pd.read_excel('example.xlsx')    
# 按照 A 列降序排列  
sorted_df = df.sort_values(by='A', ascending=False)    
# 显示排序后的数据  
print(sorted_df)  

输出:

   A    B     C  
4  5  500  5000  
3  4  400  4000  
2  3  300  3000  
1  2  200  2000  
0  1  100  1000

7.数据分组

数据分组可以帮助我们分析不同类别的数据。

import pandas as pd    
# 读取 Excel 文件  
df = pd.read_excel('example.xlsx')    
# 按照 B 列分组并计算平均值  
grouped_df = df.groupby('B').mean()    
# 显示分组后的数据  
print(grouped_df)  

输出:

          A        C  
B                      
100  1.000000  1000.0  
200  2.000000  2000.0  
300  3.000000  3000.0  
400  4.000000  4000.0  
500  5.000000  5000.0

8.添加新列

我们可以根据现有列的数据轻松添加新列。

import pandas as pd    
# 读取 Excel 文件  
df = pd.read_excel('example.xlsx')    
# 添加新列 D  
df['D'] = df['A'] * df['B']    
# 显示更新后的数据  
print(df)  

输出:

  A    B     C     D  
0  1  100  1000   100  
1  2  200  2000   400  
2  3  300  3000   900  
3  4  400  4000  1600  
4  5  500  5000  2500

9.更新单元格

有时候我们需要更新特定单元格的值。

import pandas as pd    
# 读取 Excel 文件  
df = pd.read_excel('example.xlsx')    
# 更新 A 列第 2 行的值  
df.at[1, 'A'] = 10    
# 显示更新后的数据  
print(df)  

输出:

 A    B     C  
0  1  100  1000  
1 10  200  2000  
2  3  300  3000  
3  4  400  4000  
4  5  500  5000

10.删除列

删除不需要的列可以简化数据集。

import pandas as pd    
# 读取 Excel 文件  
df = pd.read_excel('example.xlsx')    
# 删除 C 列  
del df['C']    
# 显示更新后的数据  
print(df)  

输出:

   A    B  
0  1  100  
1  2  200  
2  3  300  
3  4  400  
4  5  500

11.合并多个 Excel 文件

合并多个 Excel 文件可以方便地将数据集中到一起。

import pandas as pd    
# 读取多个 Excel 文件  
df1 = pd.read_excel('example1.xlsx')  
df2 = pd.read_excel('example2.xlsx')    
# 合并两个 DataFrame  
merged_df = pd.concat([df1, df2], ignore_index=True)    
# 显示合并后的数据  
print(merged_df)  

输出:

   A    B     C  
0  1  100  1000  
1  2  200  2000  
2  3  300  3000  
3  4  400  4000  
4  5  500  5000

12.数据透视表

数据透视表是一种强大的工具,可以快速汇总和分析数据。

import pandas as pd   
# 读取 Excel 文件  
df = pd.read_excel('example.xlsx')    
# 创建数据透视表  
pivot_table = pd.pivot_table(df, values='C', index=['A'], columns=['B'], aggfunc=sum)    
# 显示数据透视表  
print(pivot_table)  

输出:

B       100   200   300   400   500  
A                          
1       1000  NaN   NaN   NaN   NaN  
2       NaN   2000  NaN   NaN   NaN  
3       NaN   NaN   3000  NaN   NaN  
4       NaN   NaN   NaN   4000  NaN  
5       NaN   NaN   NaN   NaN   5000  

13.数据合并

合并多个数据集可以让你更好地分析数据之间的关系。

import pandas as pd    
# 读取两个 Excel 文件  
df1 = pd.read_excel('example1.xlsx')  
df2 = pd.read_excel('example2.xlsx')    
# 使用内连接合并两个数据集  
merged_df = pd.merge(df1, df2, on='A', how='inner')    
# 显示合并后的数据  
print(merged_df)  

输出:

   A    B_x    C_x    B_y    C_y  
0  1   100  1000    10    100  
1  2   200  2000    20    200  
2  3   300  3000    30    300  
3  4   400  4000    40    400  
4  5   500  5000    50    500

14.数据清洗

数据清洗是数据分析的重要步骤,可以去除无效或错误的数据。

import pandas as pd    
# 读取 Excel 文件  
df = pd.read_excel('example.xlsx')    
# 去除空值  
df.dropna(inplace=True)    
# 去除重复行  
df.drop_duplicates(inplace=True)    
# 显示清洗后的数据  
print(df)  

输出:

   A    B     C  
0  1  100  1000  
1  2  200  2000  
2  3  300  3000  
3  4  400  4000  
4  5  500  5000

15.多页 Excel 文件操作

处理多页 Excel 文件时,可以使用openpyxl库。

from openpyxl 
import load_workbook  
# 加载 Excel 文件  
wb = load_workbook('example.xlsx')    
# 获取所有工作表名称  
sheet_names = wb.sheetnames  
print(sheet_names)    
# 选择特定工作表  
sheet = wb['Sheet1']    
# 读取特定单元格的值  
cell_value = sheet.cell(row=1, column=1).value  
print(cell_value)  

输出:

['Sheet1', 'Sheet2', 'Sheet3']  
1  

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。