利用python将excel中的大量分组竖行数据转为横行数据 |
您所在的位置:网站首页 › 批量把纵向的数据变成横向 › 利用python将excel中的大量分组竖行数据转为横行数据 |
@利用python将excel中的大量分组竖行数据转为横行数据 话不多说,直接上示意图: 想到这个问题也是今天工作所带来的的问题,网上爬虫下来的数据就是这种图片中左边的情况,也许是自己的爬虫技术不够到家,但是任务是转变成右边的数据模式,那只能硬着头皮做了。对于示意图这样很少的数据我想直接复制并进行选择性粘贴就行了,那如果是上万,十几万这类数据那又该怎么办呢、 于是我百度了一下,没有找到自己满意的答案。想到了自己学了点python数据的简单处理,就有了一个思路,思路是这样的:发现A列C列是有规则有序循环的重复项,那我们可以先写在第一行,那B列的数据也是4个为一组循坏对应的,那我们可以利用python获取B列的所有数据,在对进行数据分组,写入其他表格,最后这个复制粘贴就OK了。 读取样本1数据: 首先要安装pandas库:pip install pandas 读取表格写入数据代码 // An highlighted block import io import sys import pandas as pd#导入pandas库 sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf8') df = pd.read_excel("样本1.xlsx", usecols=[1], names=None) # 读取项目名称,第2列,不要列名 df_li = df.values.tolist() results = [] for s_li in df_li: results.append(s_li[0])#遍历第2列每一行的数据放入results fz_results = [results[i:i+4] for i in range(0,12,4)] #将results列表4个为一组成的列表,很多数据就改成range(01,len(results),n) #再次遍历fz_results中新列表 for td in fz_results: td1 = [str(i) for i in td] td2 = ' '.join(td1)#列表和字符串之间的转换 #print(td2) with open('样本.csv','a+') as f: f.write(td2 + '\n')#最后创建csv文件并写入数据 print("完成");这里我用的是WPS软件打开写入的文件,如图: 能力有限,可以用execl自带的分列完成操作: 好了,最后进行快乐的复制粘贴就行,成品如图: 然后最后处理成千上万这种类型的数据也不失为一个办法,新人小白,自己一些想法分享给大家。 第一次发博客,有点紧张,如哪里处理不好的多多包涵,一起交流学习,谢谢观看! |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |