利用python将excel中的大量分组竖行数据转为横行数据

您所在的位置:网站首页 批量把纵向的数据变成横向 利用python将excel中的大量分组竖行数据转为横行数据

利用python将excel中的大量分组竖行数据转为横行数据

2024-02-15 05:38| 来源: 网络整理| 查看: 265

@利用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