python脚本解析xlsx示例

在 Windows 系统上使用 Python 免安装版,可参考以下内容:

下载

  1. 打开浏览器,访问Python 官方网站2。
  2. 在下载页面中,找到 “Windows” 相关的下载选项。对于 64 位系统,通常选择 “Windows x86-64 embeddable zip file”;对于 32 位系统,则选择 “Windows x86 embeddable zip file”2。

解压

  1. 下载完成后,找到下载的 zip 文件。
  2. 右键点击该文件,选择 “解压到此处” 或使用相关解压工具将其解压到指定目录,如C:\PythonPortable2。

配置环境变量

  1. 右键点击 “此电脑” 或 “计算机”,选择 “属性”2。
  2. 点击 “高级系统设置”,在弹出的 “系统属性” 窗口中点击 “环境变量”2。
  3. 在 “系统变量” 中找到 “Path”,点击 “编辑”,添加 Python 的解压路径,如C:\PythonPortable2。

验证安装

打开命令提示符(CMD)或 PowerShell,输入python --version。如果显示正确的 Python 版本号,说明安装成功2。

安装 pip(可选)

由于 Python 免安装版默认可能不含 pip,可以通过以下步骤安装4:

  1. 访问pip 官方安装页面,下载get-pip.py文件,并保存到 Python 解压目录下的Scripts目录。
  2. 打开命令提示符,进入 Python 解压目录的Scripts目录,执行python get-pip.py命令来安装 pip。
  3. 安装完成后,输入python -m pip --version,确保成功安装了 pip。

常见问题:

  1. pip运行失败:修改python安装目录下的python3x._pth文件,新添加一行Lib\site-packages

2. 依赖库安装:pip.exe install pandas

pip.exe install openpyxl

脚本生成描述(豆包)

python 解析xlsx的Sheet1,从第六行开始,按行解析,从第二列开始,计算每4列的值的平均值,计算2组平均值;输出第一列6行开始逐行往下的内容和该行的2组平均值,按照列来输出,第一行显示第一列6行的内容,第二三行显示2组平均值,输出到另外一个xlsx文件中。 解析的xlsx文件路径,输出的xlsx文件名称带路径通过脚本参数传入。

解析脚本

import pandas as pd
import argparse


def calculate_averages(input_file_path, output_file_path):
    # 读取 Excel 文件
    df = pd.read_excel(input_file_path, sheet_name='Sheet1')
    results = []
    # 从第 6 行(index=5)开始遍历
    for index in range(5, len(df)):
        # 获取第一列当前行的值
        first_col_value = df.iat[index, 0]
        # 从第二列(index=1)开始计算前 4 列的平均值
        avg_group1 = df.iloc[index, 1:5].mean()
        # 计算接下来 4 列的平均值
        avg_group2 = df.iloc[index, 5:9].mean()
        results.extend([[first_col_value], [avg_group1], [avg_group2]])

    result_df = pd.DataFrame(results)
    # 保存到新的 Excel 文件
    result_df.to_excel(output_file_path, index=False, header=False)


if __name__ == "__main__":
    parser = argparse.ArgumentParser(description='解析 Excel 文件并输出结果')
    parser.add_argument('input_file', type=str, help='输入的 Excel 文件路径')
    parser.add_argument('output_file', type=str, help='输出的 Excel 文件路径')
    args = parser.parse_args()

    calculate_averages(args.input_file, args.output_file)
    

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注