用python对excel中的两列数据进行排列组合

需求:对一个excel中的两列数据进行排列组合,并将数据追加写入到表格中。
背景:完全不懂代码的小白,所以,最后将代码打包生成可执行文件,方便操作。
下面直接上代码。

import pandas as pd
import os

def find_excel(path):
    for (root, dirs, files) in os.walk(path):
        for file in files:
            if str(file).endswith("xlsx") or str(file).endswith("xls"):
                return file

def get_res(file):
    data = pd.read_excel(file)
    col1 = data.iloc[:, 1].dropna().tolist()
    col2 = data.iloc[:, 2].dropna().tolist()
    l = []
    for col1_i in col1:
        for col2_i in col2:
            l.append(str(col1_i)+str(col2_i))
    merge = pd.DataFrame(data=[col1, col2, l], index=["col1", "col2", "col3"]).T
    return merge

def write_excel(file, res):
    with pd.ExcelWriter(file, engine='openpyxl', mode="a", if_sheet_exists="replace") as xlsx:
        res.to_excel(xlsx, sheet_name="res", index=None)


if __name__ == '__main__':
    file = find_excel(r"./")
    res = get_res(file)
    write_excel(file, res)

生成可执行文件

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyinstaller  #安装pyinstaller
pyinstaller -F -w  -n merge  py2excel2pailie.py  #下一行也可以,自行运行,查看区别
pyinstaller -F -w  -xxx.py

需求是第2和第3列变为第4列
在这里插入图片描述
最后执行效果为显示为下图:
在这里插入图片描述
最后,手动获取需求列,方法有点笨,还望指正!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值