表格模板:

目的将卡片1到卡片5的所有数据组合起来到一个单元格中如下入F列中(工作中为了避免手动复制粘贴),其余不变,因为数据太多  自己一个一个复制工作效率太低,所以写这个脚本是为了方便自己
有需要的也可进行修改后使用。
运行结果如下:

反过来 以“;”分隔上图F列  结果显示为 卡片1 卡片2 卡片3 的结果
def readExcelDataByName(filename, sheetName):
'''读取Excel文件和表名'''
wb = xlrd.open_workbook(filename)
# sheet=data.sheet_by_index(0)#通过索引顺序获取,0表示第一张表
# sheets = data.sheet_names()#获取文件中的表名
sheet = wb.sheet_by_name(sheetName)
ncols = sheet.ncols
# 获取行数
nrows = sheet.nrows
print("nrows %d, ncols %d" % (nrows, ncols))
row_list = []
work_book = xlwt.Workbook("11.xls")
sheet1 = work_book.add_sheet("Sheet1")
k = 1
for j in range(1, nrows):
# 获取单元格
for i in range(6, ncols):
data = sheet.cell_value(j, i)
if data == "":
continue
else:
row_list.append(str(k) + "." + data + "\n")
k = k + 1
# print(row_list) sheet1.write(j, 5, row_list)
row_list.clear()
k = 1
for m in range(0,7):
for n in range(0,5):#列
data=sheet.cell_value(m, n)
sheet1.write(m, n, data)
if os.path.exists("11.xls"):
os.remove("11.xls")
work_book.save("11.xls")
else:
work_book.save("11.xls")
if __name__ == '__main__':
readExcelDataByName('模板.xlsx', 'Sheet1')

  

#!user/bin/env python
# coding=utf-
# @Author : Dang
# @Time : // :
# @Email : @qq.com
# @File : Test_SplitExcel.py
# @Description:对excel单元格已;进行分隔,完成后需要对
import xlrd
import xlwt
import os
import re def readExcelDataByName(filename, sheetName, num,save_filename):
"""
:param filename:输入文件路径和名字+后缀
:param sheetName:输入表名
:param num:输入要分隔的列
:param save_filename:要保存的文件名称
""" wb = xlrd.open_workbook(filename)
# sheet=data.sheet_by_index()#通过索引顺序获取,0表示第一张表
# sheets = data.sheet_names()#获取文件中的表名
sheet = wb.sheet_by_name(sheetName)
ncols = sheet.ncols
# print(ncols)
# 获取行数
nrows = sheet.nrows
print("nrows %d, ncols %d" % (nrows, ncols))
row_list = []
work_book = xlwt.Workbook()
sheet1 = work_book.add_sheet(sheetName[:-], cell_overwrite_ok=True)
for m in range(, nrows):
for n in range(, num): # 列
data_init = sheet.cell_value(m, n)
sheet1.write(m, n, data_init)
k=
for m in range(, nrows):
data = sheet.cell_value(m, num)
row_list = re.split(";", data.replace("\n", ""))
for n in range(, len(row_list)): # 列
sheet1.write(m, n + num, row_list[n]) # 从第6列写入
k=k+len(row_list)
# print(m)
# print(row_list)
row_list.clear()
# print(k-nrows) print("大约有 %d个用例,此处只做大概统计,具体需要根据实际情况减去相应值" %(k-nrows)) for i in range(num, ncols):
data_add = sheet.cell_value(, i)
# print(kapian)
sheet1.write(, i, data_add)
if os.path.exists(save_filename + sheetName + ".xls"):
os.remove(save_filename + sheetName + ".xls")
work_book.save(save_filename + sheetName + ".xls")
else:
work_book.save(save_filename + sheetName + ".xls")
print("转换完成,请查看 %s%s.xls的文档。" %(save_filename,sheetName))
if __name__ == '__main__':
"""
:param filename:输入文件路径和名字+后缀
:param sheetName:输入表名
:param num:输入要分隔的列
:param save_filename:要保存的文件路径和名称,要保存文件名会和表名自动组合形成新的文件 如:分隔结果文档Sheet1.xls
"""
readExcelDataByName('11.xls', 'Sheet1', ,"结果文档")

python 将表格多个列数据放到同一个单元格中的更多相关文章

  1. JS遍历表格获取每行数据及每个单元格数据

    /** * 遍历表格获取每行数据及每个单元格数据 * @param tableID 表格ID */ function GetTable(tableID) { var milasUrl = {};//新 ...

  2. Swift - 可编辑表格样例(可直接编辑单元格中内容、移动删除单元格)

    (本文代码已升级至Swift3)   本文演示如何制作一个可以编辑单元格内容的表格(UITableView). 1,效果图 (1)默认状态下,表格不可编辑,当点击单元格的时候会弹出提示框显示选中的内容 ...

  3. python实例:从excel读取股票代码,爬取股票信息写到代码后面的单元格中

    关键词:爬虫.python.request.接口.excel处理 思路: 1.首先准备好excel文档,把股票代码事先编辑进去. 2.脚本读取文档,依次读出股票代码到指定站点发起请求获取股票信息 3. ...

  4. Aspose.Cells 首次使用,用到模版填充数据,合并单元格,换行

    Aspose.Cells 首次使用,用到模版填充数据,合并单元格,换行 模版格式,图格式是最简单的格式,但实际效果不是这种,实际效果图如图2 图2 ,注意看红色部分,一对一是正常的,但是有一对多的订单 ...

  5. EXCEL表格单元格中包含数字英文和汉字,如何自动去掉汉字,保留英文和数字

    EXCEL表格单元格中包含数字英文和汉字,如何自动去掉汉字,保留英文和数字 Function 求数字和字母(对象 As String) '在文本与数字混杂中提取数字和字母   Dim myReg    ...

  6. Excel催化剂开源第15波-VSTO开发之DataTable数据导出至单元格区域

    上篇提到如何从Excel界面上拿到用户的数据,另外反方向的怎样输出给用户数据,也是关键之处. VSTO最大的优势是,这双向的过程中,全程有用户的交互操作. 而一般IT型的程序,都是脱离用户的操作,只能 ...

  7. 将Word表格中单元格中的文字替换成对应的图片

    示例 原文件结构: 替换后文档结构: 软件截图: 代码: using System;using System.Collections.Generic;using System.ComponentMod ...

  8. excel表格中打开可以显示整个表格但是打印却只能打印一个单元格

    excel表格中打开可以显示整个表格但是打印却只能打印一个单元格 如下图显示 解决办法 2007 版菜单栏上 ----->页面布局----->打印区域----->取消打印.即可正常. ...

  9. 雷林鹏分享:jQuery EasyUI 数据网格 - 合并单元格

    jQuery EasyUI 数据网格 - 合并单元格 数据网格(datagrid)经常需要合并一些单元格.本教程将向您展示如何在数据网格(datagrid)中合并单元格. 为了合并数据网格(datag ...

随机推荐

  1. fiddler中安装证书进行https协议的抓取

    Fiddler目前默认安装对http协议进行抓取但是对手机以及其他一些是https协议的通讯抓取需要配置. 电脑Fiddler设置: 1.首页我们要在fiddler中找到菜单栏的Tools > ...

  2. JUnit 判断方法抛出的异常

    :比方案1更详细,可以进一步判断抛出的异常的报错信息是否符合预期 不用上面那个属性,用 try - catch(因为判断了报错信息,所以不用判断异常的类型了吧) ( 注释:MyAssert类是我自定义 ...

  3. Android官方架构组件介绍之ViewModel(三)

    ViewModel 像Activity,Fragment这类应用组件都有自己的生命周期并且是被Android的Framework所管理的.Framework可能会根据用户的一些操作和设备的状态对Act ...

  4. javassist fr8.0破解

    主要是破解连接数的. 已破解的jar:http://download.csdn.net/download/wolf12/9834152 public static void main(String[] ...

  5. 性能测试工具LoadRunner10-LR之Virtual User Generator 错误处理函数

    VuGen提供了错误处理函数lr_continue_on_error,用来在脚本中实时修改Vuser的出错设置.lr_continue_on_error函数语法结构如下: void lr_contin ...

  6. jemeter的简单使用

    建立测试计划 启动jmeter后,jmeter会自动生成一个空的测试计划,用户可以基于该测试计划建立自己的测试计划. 添加线程组 一个性能测试请求负载是基于一个线程组完成的.一个测试计划必须有一个线程 ...

  7. linux 编译安装php7

    1.下载php7安装包: php7 2.解压 .tar.gzcd php-7.1.5 3.可能需要的扩展 yum install libmcrypt libmcrypt-devel mcrypt mh ...

  8. 通过一个例子,总结下检测数组属性的N种方法

    判断arr数组里是否含有a,有a返回1;没有返回2var arr = [{a:1,b:2,c:3},{q:1,w:2,e:3},{s:4,g:5,i:9},{b:2,v:3,u:4}]; 检测属性的3 ...

  9. VS2013 自定义项目模板以及制作.vsix文件

    一.环境检查 打开VS2013新建项目.如果在"其他项目类型"中不包含扩展性节点,则需要下载并安装vs2013 SDK. 二.创建项目模板 1,在VS中新建一个类库项目(此处仅以类 ...

  10. Hibernate课程 初探一对多映射4-2 cascade级联属性

    1 级联属性:hibernate一方和多方设置关联关系,当一方发生相应修改时(见下表),多方不用进行显式修改,也能进行相应修改.   级联在一方和多方xml中都可以设置 属性值 含义和作用 all 对 ...