excel 高手进来帮我a
数据采集,假设a个数据为1组,共b组,串口把这些数据连续发送上来,电脑接收,每个数据间有空格,现在所有数据串联在一起。我想在excel里面,把这串数据分成a列,b行。
请问高手,如何实现?
从文本导入excel还是直接用excel接收串口数据?
文本导入简单
接收串口数据就要写vba了 光文字不好理解,你可以发个截屏,说不定有人会用公式或自动筛选帮到你 在minitab里面很好实现,用数据堆叠和拆分就行,然后可以复制到excel yang8191 发表于 2019-11-18 19:05
从文本导入excel还是直接用excel接收串口数据?
文本导入简单
接收软件用文本存储。
你有何好方法?
chonggao 发表于 2019-11-18 19:18
光文字不好理解,你可以发个截屏,说不定有人会用公式或自动筛选帮到你
举个例子,发上来的数据连成一串:
1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 ....... 拷贝到EXCEL里面,全部在一个单元格里面。
我想分成:
1、 2、 3、 4、 5、 6、 7、 8
1、 2、 3、 4、 5、 6、 7、 8
1、 2、 3、 4、 5、 6、 7、 8
1、 2、 3、 4、 5、 6、 7、 8
.......
每个数据占一个单元格
改改单片机程序吧。。。 本帖最后由 yang8191 于 2019-11-18 21:13 编辑
把txt文件导入到excel就行了
顶部菜单 --数据 --来自文本
选择文本,设置一下就可以了
我用的office2007
2003 是数据-- 导入外部数据-选择txt文件
设置对应分隔符,导入进去就可以了
mytomatoes 发表于 2019-11-18 20:54
改改单片机程序吧。。。
怎么改?
单片机只能发送数据,不能发送回车啊
yang8191 发表于 2019-11-18 21:05
把txt文件导入到excel就行了
顶部菜单 --数据 --来自文本
这个方法不行。这个方法不能分行
我既要分列,还要分行
f = 'data.txt'
with open(f,'r') as f1:
l1 = f1.read().replace('\n',' ')
l2 = l1.split()
for i in range(0,len(l2),8):
l3 = l2
print(l3)
用python吧,大概是上面这个样子 本帖最后由 mytomatoes 于 2019-11-18 22:46 编辑
dqp05 发表于 2019-11-18 21:24
怎么改?
单片机只能发送数据,不能发送回车啊
\n回车
\ttab
怎么发不了了?
mytomatoes 发表于 2019-11-18 22:44
\n回车
\ttab
怎么发不了了?
不行的,接收软件显示的都是数据,不能识别这些控制符的
dqp05 发表于 2019-11-18 22:59
不行的,接收软件显示的都是数据,不能识别这些控制符的
用串口调试助手接,复制粘贴到excel,自然就会分列(\t),换行(\n)了 mytomatoes 发表于 2019-11-18 23:20
用串口调试助手接,复制粘贴到excel,自然就会分列(\t),换行(\n)了
不行的,复制到EXCEL,全部在一个单元格里面
数据段长度一致可用分列,无规律可先复制到word用空格全部替换成换行符^p,再复制回excel 502116199 发表于 2019-11-18 23:46
数据段长度一致可用分列,无规律可先复制到word用空格全部替换成换行符^p,再复制回excel ...
每组数据长度一致,请问如何分?
不能传附件,贴到个图,先把数据分列,再选择粘贴,转置为竖排,最后按图中位置的数据区第一个数(坐标:C6)输入公式:=INDEX($A$4:$A$259,8*(ROW(C6)-ROW($C$6))+(COLUMN(C6)-COLUMN($B$6)),1)
后面的全部复制粘贴这个公式就可以了。
楼上是高手{:5_639:} frival 发表于 2019-11-18 23:57
不能传附件,贴到个图,先把数据分列,再选择粘贴,转置为竖排,最后按图中位置的数据区第一个数(坐标:C ...
多谢{:5_643:}
页:
[1]
2