Python实现复制Excel一列数据到另一个Excel表格中(通过txt文本读取参数)

实现功能如:
将a.xls中的第11列数据复制到b.xls表格的第一列中
将表格路径写到txt中,python读取txt数据作为参数(这是为了将py文件生成exe给没有python环境的人用的时候可以通过配置txt参数实现不同需求)
代码如下:

#!/user/bin/env python
# -*- coding:utf-8 -*-
# @Time :2020/6/11 22:25
# @Author Wu Zi Jing
# @File :copyid.py
from xlutils.copy import copy
import xlrd
import codecs
from xlwt import *
class copydata():
    def Copyid_Excel(self):
        f_space = open("D:\\sheet\\Setdata.txt", "r")
        line_space = f_space.readlines()
        aimway = []
        for i in range(0, len(line_space)):
            line_space[i] = line_space[i].strip("\n")
            aimway.append(line_space[i].split(",")[0])
        aimway.append(line_space[6].split(",")[1])
        print(aimway)
        #print(aimway[0])
        fileName = aimway[0]
        fileName2 = aimway[1]
        bk = xlrd.open_workbook(fileName)
        shxrange = range(bk.nsheets)
        try:
            sh = bk.sheet_by_name(aimway[3])
        except:
            print("代码出错")
        nrows = sh.nrows  # 获取行数
        bk2 = xlrd.open_workbook(fileName2, formatting_info=True) #formatting_info=True保留原Excel格式
        wb = copy(bk2)
        #sheet = wb.get_sheet(0)
        sheet = wb.get_sheet(aimway[4])
        for i in range(1, nrows):
            row_data = sh.row_values(i)
            # 获取第i行第3列数据
            # sh.cell_value(i,3)
            # ---------写出文件到excel--------
            print("-----正在写入 " + str(i) + " 行")
            sheet.write(i + 1, int(aimway[6]), label=sh.cell_value(i, int(aimway[5])))  # 读取第12列数据,向第2行第1列写入获取到的值
            sheet.write(i + 1, int(aimway[7]), label=sh.cell_value(i, int(aimway[5])))  # 读取第12列数据,向第2行第10列写入获取到的值
            wb.save(aimway[2])
if __name__ == '__main__':
    a =copydata()
    a.Copyid_Excel()

生成exe命令:
pyinstaller -F copyid.py

配置参数说明:

在这里插入图片描述

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页
评论 2

打赏作者

Endless_wzj

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值