python - 分离动态结构化数据
问题描述
我有大量数据(大约 20K 行),如下所示。
Caller1 5:30AM Mexico USA 2-22-19
Caller2 1:30AM Mexico USA 2-22-19
Caller3 2:30AM Mexico USA 2-22-19
Caller1 5:30AM Mexico USA 2-22-19
Caller5 3:30AM Mexico USA 2-22-19
Caller3 4:30AM Mexico USA 2-22-19
Caller2 5:30AM Mexico USA 2-22-19
Caller1 7:30AM Mexico USA 2-22-19
Caller12 9:39AM Mexico USA 2-22-19
Caller14 8:36AM Mexico USA 2-22-19
Caller15 2:39AM Mexico USA 2-22-19
Caller16 3:32AM Mexico USA 2-22-19
我正在寻找一种基于CallerID
如下所示分离数据的方法:
Caller1 5:30AM Mexico USA 2-22-19
Caller1 5:30AM Mexico USA 2-22-19
Caller1 7:30AM Mexico USA 2-22-19
---------------------------------
Caller2 1:30AM Mexico USA 2-22-19
Caller2 5:30AM Mexico USA 2-22-1
---------------------------------
.
.
我最初曾经将此数据存储为 adictionary
并且任何新数据都已添加到该字典中
我在分离时遇到了麻烦,因为初始参数CallerID
也是可变的。
我的代码:
>>> input = [('caller1', 'data....'),('caller2','data,,,,,)
>>> from collections import defaultdict
>>> res = defaultdict(list)
>>> for v, k in input: res[k].append(v)
我不能使用它,因为数据集太大
Python中是否有任何包可以根据句子的第一个单词来分离数据?
解决方案
您可以尝试这种方法,将数据存储在列表字典中,其中键作为您要与 Caller1、Caller2 等分组的字符串。
data = ["Caller1 5:30AM Mexico USA 2-22-19",
"Caller2 1:30AM Mexico USA 2-22-19",
"Caller3 2:30AM Mexico USA 2-22-19",
"Caller1 5:30AM Mexico USA 2-22-19",
"Caller5 3:30AM Mexico USA 2-22-19",
"Caller3 4:30AM Mexico USA 2-22-19",
"Caller2 5:30AM Mexico USA 2-22-19",
"Caller1 7:30AM Mexico USA 2-22-19",
"Caller12 9:39AM Mexico USA 2-22-19",
"Caller14 8:36AM Mexico USA 2-22-19",
"Caller15 2:39AM Mexico USA 2-22-19",
"Caller16 3:32AM Mexico USA 2-22-19"]
grouped_data = {}
# ITERATE THE INPUT AND STORE DATA WITH KEY IN DICTIONARY OF LIST
for x in data:
temp: list = []
key = x.split(' ')[0]
if key in grouped_data:
temp = grouped_data.get(key)
temp.append(x)
grouped_data[key] = temp
# PRINT THE DATA AS GROUPED
for k, v in grouped_data.items():
print(f"data for {k}")
for d in v:
print(d)
推荐阅读
- react-native - 如何使下划线标签位置居中?
- php - 管理员创建帖子时 CPU 和 RAM 已满
- android - 如何从 recyclerView 适配器中检测回收,以便在回收之前执行操作?
- javascript - 无法使用 Renderer2 更改使用 ViewChild 引用的按钮的属性
- python - 无法运行 SVC 没有错误,但它只是卡住了,有什么办法可以超时吗?
- python-2.7 - 如何在python unittest中检查断言空字符串?
- typescript - typescript/raven.d.ts,行:205 在离子中安装 npm 时找不到名称“未知”
- php - 为什么我会收到以下警告:非法字符串偏移 'grade_id' 和 'grade_name'?
- swift - 从 swift 应用程序发送数据 Heroku 问题
- github - 我需要使用 git-pages 发布网站,而不是在从 master 创建的子分支上,例如 staging