我正在加载的Excel测试中的一列看起来像这样:
Apple:3, Mango:2, Orange:2, Fig:5, Berry:1, Cherry:99
这在单列中。
我正在尝试使用python。
一排中有100行包含这样的记录。
我正在尝试将其分为不同的列。我试图拆分“,”。我只是无法用任何方法解决问题
现在我想要这样的输出
Cherry:99,Fig:5,Apple:3,Mango:2,Orange:2,Berry:1
答案 0 :(得分:1)
使用正则表达式和sorted
例如:
import re
data = "Apple:3, Mango:2, Orange:2, Fig:5, Berry:1, Cherry:99"
print(", ".join(sorted(data.split(", "), key=lambda x: int(re.search(r"(\d+)", x).group(1)), reverse=True)))
输出:
Cherry:99, Fig:5, Apple:3, Mango:2, Orange:2, Berry:1
int(re.search(r"(\d+)", x).group(1))
在字符串中查找整数。对于熊猫DF
例如:
import re
import pandas as pd
df = pd.DataFrame({"data": ["Apple:3, Mango:2, Orange:2, Fig:5, Berry:1, Cherry:99"]})
df["data"] = df["data"].apply(lambda z: ", ".join(sorted(z.split(", "), key=lambda x: int(re.search(r"(\d+)", x).group(1)), reverse=True)))
print(df)
答案 1 :(得分:0)
Python sorted()
sorted()方法从给定的可迭代对象返回一个排序列表。
Syntax : sorted(iterable, key, reverse)
Parameters:排序使用三个参数,其中两个是
可迭代:序列(列表,元组,字符串)或集合(字典, set,frozenset)或任何其他需要排序的迭代器。
Key(可选):一种功能,可以作为密钥或基础 排序比较。
Reverse(可选):如果设置为true,则可迭代 将以反向(降序)排序,默认情况下将其设置为 错误。
data = {'Apple':3, 'Mango':2, 'Orange':2, 'Fig':5, 'Berry':1, 'Cherry':99}
sorted_data = sorted(data.items(), key=lambda kv: kv[1], reverse=True)
print (dict(sorted_data))
输出:
{'Cherry': 99, 'Fig': 5, 'Apple': 3, 'Mango': 2, 'Orange': 2, 'Berry': 1}
答案 2 :(得分:0)
<div *ngFor="let item of number | filter ; let i = index" style="border: 1px solid;margin-bottom:20px">
<div *ngFor="let item of item; let j = index" style="">
element {{i}} , {{j}}
</div>
</div>