Python办公自动化:Pandas提取指定数据并保存在原Excel工作簿中

MoMo 2023年8月20日19:03:11
评论
140

新建一个EXcel数据,然后写入数据,最后提取指定数据并保存在原Excel工作簿中

要使用 Pandas 提取指定数据并保存在原 Excel 工作簿中,您可以使用 pandasopenpyxl 库。

首先,安装这两个库:

pip install pandas
pip install openpyxl

该代码创建一个 Excel 文件,写入一些数据,然后从其中提取指定数据并保存在原 Excel 工作簿的新工作中。

import pandas as pd

# 创建一个 Excel 文件,并写入数据
def create_excel_file(excel_file):
    df = pd.DataFrame({
        'Name': ['Alice', 'Bob', 'Charlie'],
        'Age': [25, 30, 35],
        'Occupation': ['Engineer', 'Doctor', 'Artist']
    })
    df.to_excel(excel_file, sheet_name='Sheet1', index=False)

# 从 Excel 文件中提取指定数据,并保存在原 Excel 工作簿中
def extract_and_save_to_same_workbook(excel_file):
    # 读取原始数据
    df = pd.read_excel(excel_file, sheet_name='Sheet1')
    
    # 提取指定数据(例如,年龄大于 30 的行)
    df_filtered = df[df['Age'] > 30]
    
    # 保存到原 Excel 工作簿的新工作中
    with pd.ExcelWriter(excel_file, engine='openpyxl', mode='a') as writer:
        df_filtered.to_excel(writer, sheet_name='Filtered', index=False)

# 主程序
if __name__ == "__main__":
    excel_file = 'sample_data.xlsx'  # Excel 文件路径
    
    # 创建 Excel 文件,并写入数据
    create_excel_file(excel_file)
    
    # 提取指定数据,并保存在原 Excel 工作簿中 (xpanx.com)
    extract_and_save_to_same_workbook(excel_file)  # xpanx.com

    print("Data extraction and saving completed.")

知识点解释

  1. 创建 Excel 文件和写入数据: 使用 pandas.DataFrame 创建一个数据框,并使用 to_excel 方法将其保存为 Excel 文件。
  2. 读取 Excel 文件: 使用 pandas.read_excel 方法读取 Excel 文件。
  3. 数据过滤: 使用 Pandas 的过滤功能来提取指定数据。
  4. 保存到原 Excel 工作簿: 使用 pandas.ExcelWriter 类的 mode='a' 参数来追加数据到现有的 Excel 文件。

运行这个代码后,您将看到一个名为 sample_data.xlsx 的 Excel 文件,其中包含两个工作Sheet1(原始数据)和 Filtered(提取的数据)。

 

https://xpanx.com/
MoMo
  • 本文由 发表于 2023年8月20日19:03:11
  • 转载请务必保留本文链接:https://xpanx.com/4149.html
Python动态月度日历Excel生成器 Python

Python动态月度日历Excel生成器

功能 本脚本用于生成一个特定年份的日历,将其保存在Excel工作簿中。用户可以自定义年份以及一周的开始日(如星期一、星期日等)。每个月都会在一个单独的Excel工作表中呈现,且工作表中的周会以绿色背景...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: