lanyacp 发表于 2020-10-17 06:20:25

求助:数据处理

["张三车补|3|2|18.5|57-07-10;李四房补|35|2|8|03-25-05","张三交通|8|2|22|04-08-06-27;李四房补|35|2|8|11-02-35","王五车补|3|2|18.5|08-08-11;李四房补|35|2|8|12-24-05".....后面很多类似数据]
处理结果:张三:57,07,10,04,08,06,27
                李四:11,02,35,12,24,05

就是只要名字关键字和后面的元素,求大神解决,谢谢!
是不是先去掉|符号和符号之间的内容再关键字取值,中间还牵涉到符号—的去掉,

wp231957 发表于 2020-10-17 06:57:41

使用split分割成列表,然后对含有-的进行二次分割

LuLD 发表于 2020-10-17 09:27:57

本帖最后由 LuLD 于 2020-10-17 09:31 编辑

以下是个人见解,仅供参考
语法
split() 方法语法:

str.split(str="", num=string.count(str)).
参数
str -- 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。
num -- 分割次数。默认为 -1, 即分隔所有。

函数split()用法

如:"张三车补|3|2|18.5|57-07-10;李四房补|35|2|8|03-25-05","张三交通|8|2|22|04-08-06-27;李四房补|35|2|8|11-02-35"..............

用split 以 , 进行分割 变成 列表
[‘张三车补|3|2|18.5|57-07-10;李四房补|35|2|8|03-25-05’,‘张三交通|8|2|22|04-08-06-27;李四房补|35|2|8|11-02-35’]

然后继续分割 列表中的第一个元素   ‘张三车补|3|2|18.5|57-07-10;李四房补|35|2|8|03-25-05’
以 ;进行分割成 ‘张三车补|3|2|18.5|57-07-10‘,’李四房补|35|2|8|03-25-05’

继续分割 上诉小的列表的第一个元素‘张三车补|3|2|18.5|57-07-10‘
以 | 分割成 [ ‘张三车补‘,’3‘,'2‘,'18.5‘,'57-07-10‘]

最后再对最后一个元素分割
以-分割成['57','07','10']

到了其中某一步,有需要的东西可以先放在另一个列表或者元素中

lanyacp 发表于 2020-10-17 09:53:13

我试试,应该可以实现
谢谢
页: [1]
查看完整版本: 求助:数据处理