找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 182|回复: 6

[求助] 求大神帮助,python中怎么实现文本1-5转为1,2,3,4,5

1

主题

7

帖子

7

积分

贫民

积分
7
wsen 发表于 2021-12-18 10:30:21 | 显示全部楼层 |阅读模式
python处理Excel表格里面的文本数据,其中1列都是1-5,或者1-6的文本格式数据,
怎么将文本1-5转为1,2,3,4,5的格式,1-6转为1,2,3,4,5,6


拆分数据.png
回复

使用道具 举报

0

主题

921

帖子

921

积分

圣骑士

积分
921
sheeboard 发表于 2021-12-20 20:29:09 | 显示全部楼层
参考
  1. import pandas as pd
  2. df=pd.read_excel('test.xlsx')

  3. def exdata(x):
  4.     lit=x.split('-')
  5.     start=int(lit[0])
  6.     end=int(lit[1])+1
  7.     result=[i for i in range(start,end)]
  8.     return ','.join([str(j) for j in result])
  9. df['转为新格式数据']=df['原始数据'].apply(exdata)
复制代码

点评

感谢,能够实现原定计划功能  发表于 2021-12-21 10:16
回复 支持 1 反对 0

使用道具 举报

1

主题

7

帖子

7

积分

贫民

积分
7
wsen  楼主| 发表于 2021-12-21 10:08:18 | 显示全部楼层
感谢,能够实现原定计划功能
回复 支持 反对

使用道具 举报

1

主题

7

帖子

7

积分

贫民

积分
7
wsen  楼主| 发表于 2021-12-20 15:00:30 | 显示全部楼层
Dim b

xxx = ThisWorkbook.Sheets("序列转换").Range("A1048576").End(xlUp).Row
For aaa = 2 To xxx

a = Left(Cells(aaa, 1), Application.WorksheetFunction.Find("-", Cells(aaa, 1)) - 1)
b = Mid(Cells(aaa, 1), Application.WorksheetFunction.Find("-", Cells(aaa, 1)) + 1, 10)
c = Int(b) - Int(a)
For i = 1 To c
    x = a + i
    Z = Z & "," & x
   
Next

ThisWorkbook.Sheets("序列转换").Cells(aaa, 2).Value = a & Z
Z = ""
Next

End Sub
回复 支持 反对

使用道具 举报

1

主题

7

帖子

7

积分

贫民

积分
7
wsen  楼主| 发表于 2021-12-21 10:13:05 | 显示全部楼层
本帖最后由 wsen 于 2021-12-21 10:19 编辑
wsen 发表于 2021-12-20 15:00
Dim b

xxx = ThisWorkbook.Sheets("序列转换").Range("A1048576").End(xlUp).Row


这个是使用VB写的代码
回复 支持 反对

使用道具 举报

1

主题

7

帖子

7

积分

贫民

积分
7
wsen  楼主| 发表于 2021-12-21 10:21:39 | 显示全部楼层
来自‘ask.csdn.net’网站用户[user-from-future]的解答

print(tuple(range(*(lambda mi, ma: (int(mi), int(ma) + 1))(*input("num range: ").split("-")))))
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表