用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列
用python对excel中的两列数据进行排列组合_第1张图片
最后执行效果为显示为下图:
用python对excel中的两列数据进行排列组合_第2张图片
最后,手动获取需求列,方法有点笨,还望指正!

你可能感兴趣的:(数据分析,excel,python,开发语言)