成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

必學的 20 個 Excel 表格操作 Python 腳本

開發(fā) 后端
本文介紹了使用 Python 處理 Excel 文件的各種方法,通過這些示例,你可以掌握如何高效地管理和分析 Excel 數(shù)據(jù)。

本文將介紹使用 Python 處理 Excel 文件的多種方法,涵蓋從基本的讀寫操作到高級的數(shù)據(jù)分析與可視化。通過這些示例,你可以學習如何高效地管理和分析 Excel 數(shù)據(jù)。

1. 安裝必要的庫

在開始之前,確保安裝了 pandas 和 openpyxl 這兩個庫。這兩個庫是處理 Excel 文件的基礎(chǔ)。

pip install pandas openpyxl

2. 讀取 Excel 文件

首先,讓我們看看如何讀取一個 Excel 文件。

import pandas as pd

# 讀取 Excel 文件
df = pd.read_excel('example.xlsx', engine='openpyxl')

# 顯示前五行數(shù)據(jù)
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 文件

接下來,我們將創(chuàng)建一個新的 DataFrame 并將其寫入新的 Excel 文件。

import pandas as pd

# 創(chuàng)建一個 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'])

# 顯示前五行數(shù)據(jù)
print(df.head())

輸出:

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

5. 過濾數(shù)據(jù)

過濾數(shù)據(jù)可以幫助我們找到特定條件下的記錄。

import pandas as pd

# 讀取 Excel 文件
df = pd.read_excel('example.xlsx')

# 過濾出 A 列大于 3 的行
filtered_df = df[df['A'] > 3]

# 顯示過濾后的數(shù)據(jù)
print(filtered_df)

輸出:

   A    B     C
3  4  400  4000
4  5  500  5000

6. 數(shù)據(jù)排序

排序數(shù)據(jù)可以讓我們更容易地查看數(shù)據(jù)的趨勢。

import pandas as pd

# 讀取 Excel 文件
df = pd.read_excel('example.xlsx')

# 按照 A 列降序排列
sorted_df = df.sort_values(by='A', ascending=False)

# 顯示排序后的數(shù)據(jù)
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. 數(shù)據(jù)分組

數(shù)據(jù)分組可以幫助我們分析不同類別的數(shù)據(jù)。

import pandas as pd

# 讀取 Excel 文件
df = pd.read_excel('example.xlsx')

# 按照 B 列分組并計算平均值
grouped_df = df.groupby('B').mean()

# 顯示分組后的數(shù)據(jù)
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. 添加新列

我們可以根據(jù)現(xiàn)有列的數(shù)據(jù)輕松添加新列。

import pandas as pd

# 讀取 Excel 文件
df = pd.read_excel('example.xlsx')

# 添加新列 D
df['D'] = df['A'] * df['B']

# 顯示更新后的數(shù)據(jù)
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

# 顯示更新后的數(shù)據(jù)
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. 刪除列

刪除不需要的列可以簡化數(shù)據(jù)集。

import pandas as pd

# 讀取 Excel 文件
df = pd.read_excel('example.xlsx')

# 刪除 C 列
del df['C']

# 顯示更新后的數(shù)據(jù)
print(df)

輸出:

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

11. 合并多個 Excel 文件

合并多個 Excel 文件可以方便地將數(shù)據(jù)集中到一起。

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)

# 顯示合并后的數(shù)據(jù)
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. 數(shù)據(jù)透視表

數(shù)據(jù)透視表是一種強大的工具,可以快速匯總和分析數(shù)據(jù)。

import pandas as pd

# 讀取 Excel 文件
df = pd.read_excel('example.xlsx')

# 創(chuàng)建數(shù)據(jù)透視表
pivot_table = pd.pivot_table(df, values='C', index=['A'], columns=['B'], aggfunc=sum)

# 顯示數(shù)據(jù)透視表
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. 數(shù)據(jù)合并

合并多個數(shù)據(jù)集可以讓你更好地分析數(shù)據(jù)之間的關(guān)系。

import pandas as pd

# 讀取兩個 Excel 文件
df1 = pd.read_excel('example1.xlsx')
df2 = pd.read_excel('example2.xlsx')

# 使用內(nèi)連接合并兩個數(shù)據(jù)集
merged_df = pd.merge(df1, df2, on='A', how='inner')

# 顯示合并后的數(shù)據(jù)
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. 數(shù)據(jù)清洗

數(shù)據(jù)清洗是數(shù)據(jù)分析的重要步驟,可以去除無效或錯誤的數(shù)據(jù)。

import pandas as pd

# 讀取 Excel 文件
df = pd.read_excel('example.xlsx')

# 去除空值
df.dropna(inplace=True)

# 去除重復行
df.drop_duplicates(inplace=True)

# 顯示清洗后的數(shù)據(jù)
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. 數(shù)據(jù)類型轉(zhuǎn)換

正確設置數(shù)據(jù)類型有助于節(jié)省內(nèi)存并提高性能。

import pandas as pd

# 讀取 Excel 文件
df = pd.read_excel('example.xlsx')

# 將 A 列轉(zhuǎn)換為整型
df['A'] = df['A'].astype(int)

# 將 B 列轉(zhuǎn)換為浮點型
df['B'] = df['B'].astype(float)

# 顯示轉(zhuǎn)換后的數(shù)據(jù)
print(df.dtypes)

輸出:

A         int64
B        float64
C        float64
dtype: object

16. 數(shù)據(jù)可視化

使用 matplotlib 庫可以方便地繪制圖表。

import pandas as pd
import matplotlib.pyplot as plt

# 讀取 Excel 文件
df = pd.read_excel('example.xlsx')

# 繪制柱狀圖
plt.bar(df['A'], df['B'])
plt.xlabel('A')
plt.ylabel('B')
plt.title('A vs B')
plt.show()

17. 多頁 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

18. 條件格式化

條件格式化可以幫助你突出顯示特定數(shù)據(jù)。

import pandas as pd
from openpyxl import Workbook
from openpyxl.styles import PatternFill

# 創(chuàng)建一個新的 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 文件
wb = Workbook()
ws = wb.active
df.to_excel(ws, index=False)

# 設置條件格式化
for row in ws.iter_rows(min_row=2, max_row=6, min_col=2, max_col=2):
    for cell in row:
        if cell.value > 300:
            cell.fill = PatternFill(start_color="FF0000", end_color="FF0000", fill_type="solid")

# 保存 Excel 文件
wb.save('condition.xlsx')

19. 自定義樣式

自定義樣式可以讓你的 Excel 文件更加美觀。

import pandas as pd
from openpyxl import Workbook
from openpyxl.styles import Font, Border, Side, Alignment

# 創(chuàng)建一個新的 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 文件
wb = Workbook()
ws = wb.active
df.to_excel(ws, index=False)

# 設置字體樣式
for row in ws.iter_rows(min_row=1, max_row=1, min_col=1, max_col=3):
    for cell in row:
        cell.font = Font(bold=True, color="FFFFFF")

# 設置邊框樣式
thin_border = Border(left=Side(style='thin'), 
                     right=Side(style='thin'), 
                     top=Side(style='thin'), 
                     bottom=Side(style='thin'))

for row in ws.iter_rows(min_row=1, max_row=6, min_col=1, max_col=3):
    for cell in row:
        cell.border = thin_border

# 設置居中對齊
for row in ws.iter_rows(min_row=1, max_row=6, min_col=1, max_col=3):
    for cell in row:
        cell.alignment = Alignment(horizontal='center', vertical='center')

# 保存 Excel 文件
wb.save('styled.xlsx')

20. 批量處理文件

批量處理多個 Excel 文件可以大大提高效率。

import os
import pandas as pd

# 獲取目錄中的所有 Excel 文件
files = [f for f in os.listdir('.') if f.endswith('.xlsx')]

# 循環(huán)處理每個文件
for file in files:
    # 讀取 Excel 文件
    df = pd.read_excel(file)
    
    # 進行數(shù)據(jù)處理
    df['D'] = df['A'] * df['B']
    
    # 保存處理后的文件
    df.to_excel(f'processed_{file}', index=False)

實戰(zhàn)案例:員工績效分析

假設你有一個包含員工績效數(shù)據(jù)的 Excel 文件,需要分析每位員工的績效。

import pandas as pd

# 讀取 Excel 文件
performance_data = pd.read_excel('employee_performance.xlsx')

# 計算每位員工的總銷售額
performance_data['Total Sales'] = performance_data['Quantity'] * performance_data['Price']

# 分析每位員工的平均銷售額
average_sales = performance_data.groupby('Employee')['Total Sales'].mean()

# 顯示平均銷售額
print(average_sales)

輸出:

Employee
Alice    5000.0
Bob      6000.0
Charlie  7000.0
Dave     8000.0
Eve      9000.0
dtype: float64

總結(jié)

本文介紹了使用 Python 處理 Excel 文件的各種方法,包括讀取、寫入、篩選、排序、分組、添加新列、更新單元格、刪除列、合并多個文件、數(shù)據(jù)透視表、數(shù)據(jù)合并、數(shù)據(jù)清洗、數(shù)據(jù)類型轉(zhuǎn)換、數(shù)據(jù)可視化、多頁文件操作、條件格式化、自定義樣式以及批量處理等。通過這些示例,你可以掌握如何高效地管理和分析 Excel 數(shù)據(jù)。

責任編輯:趙寧寧 來源: 小白PythonAI編程
相關(guān)推薦

2020-09-06 08:19:11

Python編程語言開發(fā)

2019-07-08 14:45:17

Excel數(shù)據(jù)分析數(shù)據(jù)處理

2024-11-13 13:14:38

2024-11-05 08:13:49

python視覺OpenCV

2022-08-25 17:47:21

PythonExcel

2025-05-08 10:20:00

NumPyPython

2024-10-18 14:59:40

Python招聘腳本

2025-04-03 08:20:00

運維系統(tǒng)架構(gòu)

2024-11-04 19:46:38

2010-04-29 17:05:58

Oracle 腳本

2022-04-25 08:43:47

pandas代碼Python

2025-04-27 08:35:00

Python數(shù)據(jù)分析編程

2024-05-29 11:16:33

PythonExcel

2020-12-09 11:52:28

Python字符串代碼

2022-05-13 08:47:55

爬蟲lxmlhtml

2021-05-16 07:08:18

ExcelWord技巧

2009-03-02 09:05:37

2024-07-11 22:42:52

代碼Python開發(fā)

2022-10-10 23:19:02

Python腳本語言工具庫

2023-01-12 09:06:58

點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 国产精品呻吟久久av凹凸 | 久久99精品久久久久久狂牛 | 亚洲成av人片在线观看 | 欧美一级二级在线观看 | 91欧美精品成人综合在线观看 | 伊人春色成人网 | 伊人免费在线 | 精品av | 中文字幕国产精品视频 | 日韩在线观看视频一区 | 欧美视频在线播放 | 99免费精品| 日韩精品视频在线 | 永久网站 | 国产亚洲精品一区二区三区 | 黄色片视频| 久久久久国产精品www | 精品日韩在线 | 久久久久一区 | 精品久久香蕉国产线看观看亚洲 | 亚洲精品一区二区三区中文字幕 | 日韩中文字幕在线播放 | 欧美人成在线视频 | 免费视频一区 | 亚洲高清在线播放 | 欧美二区在线 | 国产精品一区二区三区免费观看 | 国内精品免费久久久久软件老师 | 日韩一区二区在线播放 | 久操伊人 | 麻豆91精品91久久久 | 午夜资源 | 成人日批视频 | 午夜精品一区二区三区在线视频 | 欧美8一10sex性hd | 久久国产成人 | 91久久精品国产 | av免费观看在线 | 午夜爽爽男女免费观看hd | 日韩免费一区二区 | 国产成人精品一区二区三区四区 |