找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 3545|回复: 13

[求助] python输出分类换行

0

主题

11

帖子

11

积分

贫民

积分
11
iam4111 发表于 2019-7-22 14:16:01 | 显示全部楼层 |阅读模式
本帖最后由 iam4111 于 2019-7-22 14:18 编辑

请教各位程序员如何让以下图1这些输出分类换行变成像是图2那样按照他的分类号码排序?让文字排序在该项分类号后面

2.PNG
1.PNG
回复

使用道具 举报

0

主题

956

帖子

956

积分

圣骑士

积分
956
sheeboard 发表于 2019-7-22 20:06:58 | 显示全部楼层
import pandas as pd再打一遍,可能变量名冲突了。

点评

感谢您的耐心回复  发表于 2019-7-22 23:54
回复 支持 1 反对 0

使用道具 举报

0

主题

956

帖子

956

积分

圣骑士

积分
956
sheeboard 发表于 2019-7-22 17:10:33 | 显示全部楼层
本帖最后由 sheeboard 于 2019-7-22 17:15 编辑

笨办法做的,仅作参考,具体应用还需完善。肯定还会有更好的办法的。
  1. str=''
  2. with open('colon.txt') as f:
  3.     for line in f.readlines():
  4.         str+=line
  5. mylist=re.split(r'(\w\d?\d?\w?\d?\/?\d?\d?\d?:)',str)
  6. mylist=[i.strip() for i in mylist if i!='']
  7. lista=mylist[::2]
  8. listb=mylist[1::2]
  9. listb=[i.replace('\n',' ') for i in listb]
  10. for i in range(len(lista)):
  11.     if re.match(r'\w\d\d:',lista[i]):
  12.         lista[i]='?'+lista[i]
  13.     elif re.match(r'\w\d\d\w:',lista[i]):
  14.         lista[i]='??'+lista[i]
  15.     elif re.match(r'\w\d\d\w\d\/\d+:',lista[i]):
  16.         lista[i]='???'+lista[i]
  17. df=pd.DataFrame({'A':lista,'B':listb})
  18. df.to_excel('result.xlsx',index=False)
复制代码

结果
Screenshot from 2019-07-22 17-09-57.png

点评

非常感谢你  发表于 2019-7-22 19:15
回复 支持 1 反对 0

使用道具 举报

0

主题

11

帖子

11

积分

贫民

积分
11
iam4111  楼主| 发表于 2019-7-22 17:54:06 | 显示全部楼层
本帖最后由 iam4111 于 2019-7-22 19:04 编辑

非常感谢你,想请问为什么我在测试时会出现这样的错误呢?
3.PNG
回复 支持 反对

使用道具 举报

0

主题

11

帖子

11

积分

贫民

积分
11
iam4111  楼主| 发表于 2019-7-22 23:45:25 | 显示全部楼层
本帖最后由 iam4111 于 2019-7-23 00:34 编辑

万分感谢
回复

使用道具 举报

0

主题

11

帖子

11

积分

贫民

积分
11
iam4111  楼主| 发表于 2019-7-23 00:35:50 | 显示全部楼层
本帖最后由 iam4111 于 2019-7-23 10:05 编辑
sheeboard 发表于 2019-7-22 20:06
import pandas as pd再打一遍,可能变量名冲突了。

请教您不知道为什么又有了新的错误,感谢您的耐心回复有时会出现NameError: name 're' is not defined (加上import rere.compile('<title>(.*)</title>') 之后似乎就没这问题了)
3.PNG
回复 支持 反对

使用道具 举报

0

主题

11

帖子

11

积分

贫民

积分
11
iam4111  楼主| 发表于 2019-7-23 00:42:35 | 显示全部楼层
附上图片
回复

使用道具 举报

0

主题

956

帖子

956

积分

圣骑士

积分
956
sheeboard 发表于 2019-7-23 19:57:16 | 显示全部楼层
import re

点评

再次万分的感谢您  发表于 2019-7-23 21:05
回复

使用道具 举报

0

主题

11

帖子

11

积分

贫民

积分
11
iam4111  楼主| 发表于 2019-7-23 20:26:34 | 显示全部楼层

再次万分的感谢您,昨天有解决re的问题了,想请教您为何会出现
ValueError Traceback (most recent call last)

ValueError: arrays must all be same lengthValueError: arrays must all be same length
错误图片在前一则留言
回复 支持 反对

使用道具 举报

0

主题

956

帖子

956

积分

圣骑士

积分
956
sheeboard 发表于 2019-7-23 21:10:43 | 显示全部楼层
两个list的长度不同,你给的测试数据简单我是偷懒用两个list,实际数据可能还要复杂点,你可以用dict来组织数据结构,或用try except来排除特殊情况,所以我说我写的是很粗糙的,具体情况还是要具体分析,用正则分割只是一个笨办法。
回复 支持 反对

使用道具 举报

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

本版积分规则

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