html拆分单元格多行,拆分一个单元格中多行字符到不同单元格
有如下格式excel数据:
Number ID Assignment
1 A AS1
B AS2
C AS3
2 A AS5
D AS2
3 E AS6
...
以Number为1的这个观察值来说,ID:A,B,C在同一个excel单元格里的不同行,同理Assigment:AS1,AS2,AS3也在同一个excel单元格里的不同行。
现想用stata将同一个单元格中不同行的string转入不同观察值,如下格式所示:
Number ID Assignment
1 A AS1
1 B AS2
1 C AS3
2 A AS5
2 D AS2
3 E AS6
...
哪位高手有什么好的解决方法么?
非常感谢!
2013-6-25 00:51:20 上传
我已将voodoo提供的方法评为最佳答案,思路清晰,程序简洁明了。sungmoo提供的方案也很好,但是正如voodoo所说,excel copy+paste到stata产生错行,用Stata编程解决错行,并达成最终目的,这恐怕只有像sungmoo一样具备极高超技能才能解决,一般人不太容易理解。
但是voodoo的方法离完美还差那么一点点,问题就在于第一步excel的预处理,这里还要感谢那么现在的问题就转换为如何用Stata处理导入excel带来的换行问题。Dr Nick Cox编写的charlist(需要ssc install)可以查看variable中包含的ASCII码,但是很遗憾,经我试验,这个命令并不显示“换行”字符。经Statalist上Joseph Coveney的提示,char(10)和 char(13)分别代表line feed和carriage return。于是我用subinstr解决字符替换问题。最后结合voodoo的代码后,我编写完整程序如下:
***import data***
clear
import excel "Example.xlsx", sheet("sheet1") firstrow
***replace line feed with "///"***
gen ids=subinstr(ID,char(10),"///",.)
gen assignments=subinstr(Assignment,char(10),"///",.)
***split each ID and Assignment into different observations***
split ids, gen(ID) parse("///")
split assignments, gen(Assignment) parse("///")
drop ID Assignment ids assignments
***reshape to long data***
reshape long ID Assignment, i(Number) j(num)
drop if ID==""&Assignment==""
针对上述程序,sungmoo又提出了让代码更简洁的修改建议
import excel "Example.xls", sh("sheet1") first clear
split ID, p(`=char(10)')
split Assignment, p(`=char(10)')
drop ID Assignment
reshape long ID Assignment, i(Number)
drop if ID==""
最后感谢所有参与这个帖子讨论的人,真的获益良多。
html拆分单元格多行,拆分一个单元格中多行字符到不同单元格相关推荐
- Excel怎样设置标题行,Excel工作表中标题行的处理
Excel怎样设置标题行,工作表中标题行的处理 Excel做几十.几百行的表格很平常.看下部的数据时看不到表格的标题行,让人搞不清每一列的天文数字究竟代表什么意思.而且正常打印输出时,只有第一页能打印 ...
- sql 如何设置行级锁_SQL Server中的行级安全性简介
sql 如何设置行级锁 In this article, I'm going to discuss Row-Level Security in SQL Server. RLS or Row-Level ...
- 国行switch服务器在维护中,国行Switch是否锁区锁服?你关心的问题都将在这里解答...
国行Nintendo Switch已于今日(12月10日)正式发售,我们已经拿到国行Switch,并对一些备受关注的问题进行了验证,要点如下: • 国行Switch可以玩海外版卡带,海外版游戏也可以正 ...
- 函数 —— strtok() 例如:按照字符拆分字符串,放入新定义的数组中;按照字符拆分字符串,放入原先的数组中
问题描述: 原始数组:char str[80] = "This is - aa bb - cc - dd"; 新定义的数组: char newstr[80]= {0}; ...
- python 第一行包含一个整数n、表示行数_输入 第一行输入一个整数n(1 = n = 100)表示测试样例个数 接下来n行,一...
展开全部 #include #include #include #define STRLEN 100 void ifree(char**p,int i); int CheckAndChange(cha ...
- css textarea行数_限制textarea中的行数并使用jQuery显示行数
喵喵时光机 一个非常丑陋但以某种方式起作用的示例指定了textarea行然后在js中 $("textarea").on('keydown keypress keyup',fun ...
- php读取文件行读,如何在php中按行读取文件
您可以使用fgets()函数逐行读取文件: $handle = fopen("inputfile.txt", "r"); if ($handle) { whil ...
- java如何枚举定义一个数组_Java中如何将字符枚举类变成一个数组
( light. class ); currenummap.put(light. red , " 红灯 " ); currenummap.put(light. green , &q ...
- jdbc获取结果行数,如何获取JDBC中的行数?
I've executed a JDBC query to obtain a resultset. Before iterating over it, I'd like to quickly find ...
- 如何在 Excel VBA 中插入行
在本文中,我将解释如何使用VBA(Visual Basic for Applications)在Excel中插入行.VBA 是一种编程语言,适用于在Excel和其他Office程序中工作的人员,因此可 ...
最新文章
- 【linux】Matchbox(一):启动脚本
- EJB实体Bean怎样和数据库中表关联?
- Access 的top和order by 的问题
- Activity生命周期 onCreate onResume onStop onPause
- mysql 严格模式查看,如何查找和禁用MySQL严格模式?
- java下包内继承时编译不过解决方案
- Python hash、xml、configparser、sheve、shutil模块讲解 以及 面向对象初识
- 基于javaspringboot+mybatis汽车信息管理系统设计和实现
- 【程序员面试宝典】第五章 程序设计基本概念
- 【译】Effective TensorFlow Chapter11——在TensorFlow中调试模型
- 毕业同学录网站搭建源码分享
- 线性系统的状态空间分析和综合
- Spss-多元回归案例实操
- Word文档调整字间距的方法教程【收藏】
- Android Studio 项目运行错误,弹出“Detected ADB对话框”
- 基于Java实现的迷宫小游戏
- matlab中怎么正弦计算,matlab计算结果中的正弦余弦问题
- 目标检测之DarkNet-DarkNet源码解读<一>测试篇
- jtable 表头 透明_日本艺术家携手岡本打造了一对“拥薄透明人”!为情侣们定制了一份专属浪漫!这个七夕,一起拥抱爱吧!...
- 使用缓冲字符流进行文档排序
热门文章
- 项目经理是如何做到每月“0”电话费的
- 度用计算机怎么表示什么意思,潘云飞:计算机里讲的耦合度是什么意思?
- 使用python计算行列式
- Linux 搭建Owncloud 私有云
- ROM、PROM、EPROM、EEPROM、FLASH ROM
- 顾客点餐系统-----后端代码编写(基于SSM)
- Flink 中的木桶效应:单个 subtask 卡死导致整个任务卡死
- 响铃:爆雷=靴子落地,P2P或不再负重前行
- 模拟实现ps aux | grep xxx
- cla作用matlab,共轭亚油酸(CLA)为什么能减脂?90%的健身者都不懂!