python|excel分列--部分分列(pandas,concat)
目录
一、问题
二、代码
三、步骤总结
一、问题
虽然excel里分列很简单但是要批量操作的话还是有点烦的。
在CSDN上找到很多使用pandas的分列教程,但是我想要达成的效果是:
原始数据共三列,第一列是我希望分列的,后面两列不想分,如何一起输出?
注:数据仅为示例并非真实数据
该表为各街道建设用地批而未供数据控规类型,希望得到的格式是:
第一列--街道
第二列--年份
第三列--类型
第四列--数量
第五列--面积
二、代码
这里我使用了easygui进行原数据输入
# 输入原始数据
msg = '输入'
title = '选择输入的excel文件'
filename = '*'
filetypes = ["*.xls"]
fileinpath = easygui.fileopenbox(msg, title, filename, filetypes)df = pd.read_excel(fileinpath)# 分列
df = pd.DataFrame((x.split('_') for x in df['tj']),columns=['Jiedao', 'Data', 'Feature'])# 读取原始表格后面的2列
cols = [1, 2]
df2 = pd.read_excel(fileinpath, usecols=cols)
df2.head()
df2 = pd.DataFrame(df2, columns=['Cnt_tj', 'Sum_AREA'])# 合并,这里result是分列后得到的五列数据
result = pd.concat([df, df2], axis=1)
concat可以对两个数据框合并,axis参数是合并的方向。我这里相当于是两个数据框左右合并,就是1.如果是两部分希望上下合并的话参数设置为0.
输出excel
# 写出分列后的表格
msg = '分列后表格输出'
title = ''
filename = '*.xls'
filetypes = ["*.xls"]
fileoutpath1 = easygui.filesavebox(msg, title, filename, filetypes)
result.to_excel(fileoutpath1, index=False)
三、步骤总结
实现功能其实很简单,分为以下几步:
1、pandas读取原始数据,将需要分列的那一列在Dataframe里用split分列
2、读取原数据无需分列的部分
3、concat函数合并
4、pandas输出 to_excel
python|excel分列--部分分列(pandas,concat)相关推荐
- Python笔记:数据分列
以下,是在Python中实现数据分列的方法.原理不作赘述,具体请看示例. 00. 构造数据集: # 构造数据集 import pandas as pd import numpy as npdf = p ...
- Python 自动化教程(2) : Excel自动化:使用pandas库
系列教程: Python 自动化教程(1) 概述,第一篇 Excel自动化 Python 自动化教程(2) : Excel自动化:使用pandas库 Python 自动化教程(3) : 自动生成PPT ...
- Excel 2013 如何分列操作
Excel 2013 如何分列操作 第一步,打开excel,粘贴你复制的数据. 第二步,进入数据一栏. 第三步,点击分列 四.在弹出的窗口中选中分隔符号,我所粘贴的数据以逗号间隔开来,建议你们的数据有 ...
- Python按特定字符分列
Python按特定字符分列 分割前 分割后 import re # Python根据字符分割字符串 newDF = data[ '购买物品的品类'].str.split('-') newDF 导入到数 ...
- EXCEL的快速分列
1.打开Excel并选择分列--选择智能分列---点击 2.选择手动设置分列 3.注意符号一定是英文要和你分列的数据内符号一致 4.点击下一步完成 效果如下
- python excel合并相同数据_python pandas合并相同的excel
背景:孩子她妈需要手动合并30个格式一样的excel 如下5个格式一样的表测试 每个表的测试数据为,格式一样 步骤如下:通过pandas读取每个excel到dataframe 通过pandas将这些d ...
- Python 数据合并方法 —— Pandas concat() 详解
详解concat 参数说明 concat说明 ignore_index 示例 Example Reference 参数说明 pandas.concat(objs, axis=0, join='oute ...
- Python数据分析基础技术之pandas(史上最全面)
pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的.Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具.pandas提供了大量能使我们快 ...
- Python 模块之科学计算 Pandas
目录 一.Pandas简介 数据结构 二.Series series 的创建 Series值的获取 Series的运算 Series缺失值检测 Series自动对齐 Series及其索引的name属性 ...
最新文章
- PAT甲级1103 Integer Factorization (30 分):[C++题解]背包问题,DP解法
- 【Python基础】超级详解系列-Python列表全面解析
- linux各种查看端口号
- 机器学习实战--决策树算法
- K-D Tree 学习笔记
- 数据库笔记02:查询与统计数据
- 可以用img做参数的成功例子
- 针对每个团队提出的意见和建议
- 刺客信条起源计算机内存不足,刺客信条起源需要什么配置能玩?最低/推荐配置需求介绍...
- C#将word转换为HTML格式
- mysql 一条记录的某个字段为空,是否占用存储
- matlab 保存变量
- python3.7 中文汉化包
- 推荐Linux音乐播放器:咪咕音乐
- 网站不收录怎么办?网站SEO优化工具
- 【巨杉数据库SequoiaDB】限额开放!巨杉数据库中级工程师认证计划正式开启!
- 判断两条线段是否相交 java_判断两个线段是否相交02
- PyCharm设置中文(官方插件版)
- Python爬虫入门教程:博客园首页推荐博客排行的秘密
- 全干货之Python3快速入门(五)——Python3函数