首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在R/ Python中从非结构化数据中提取数据集

在R/ Python中从非结构化数据中提取数据集
EN

Stack Overflow用户
提问于 2015-09-22 18:34:26
回答 1查看 296关注 0票数 0

我们正试图从旅行请求中提取旅行路线,这些旅行路线由标准化的审计人员填写。

示例:

代码语言:javascript
复制
EY  275   13FEB HYDAUH 0425   0715  

这里的数据如下所示

代码语言:javascript
复制
EY> Travel Type
275> Flight Number
13FEB> Date of travel
HYDAUH>Airports involved during the Departure and arrival.
0425   0715 > Boarding and landing times of the flight.

在这里,我们需要从原始文本字段中提取各个数据元素,然后将它们映射到各自的出行字段并计算几个值。

在R/Python中有没有过程可以用最小的努力来实现它们。

我正在寻找用于数据拆分/映射的存续函数/过程。

EN

回答 1

Stack Overflow用户

发布于 2015-09-22 20:15:20

如果您可以提取单个记录,如第二个示例中所示,并且字段之间始终至少有一个空格,那么在Python中提取单个数据片段是很简单的:

代码语言:javascript
复制
>>> itin = 'EY  275   13FEB HYDAUH 0425   0715'
>>> ifields = itin.split()
>>> ifields[0] # travel type
'EY'
>>> ifields[1] # flight number
'275'
>>> ifields[2] # date of travel
'13FEB'
>>> ifields[3][0:3] # departure airport
'HYD'
>>> ifields[3][3:6] # destination airport
'AUH'
>>> ifields[4] # boarding time
'0425'
>>> ifields[5] # landing time
'0715'

您的第一个示例显示了紧跟在第一个记录后面的第二个记录,没有空格-是这样吗?如果是,每条记录的长度是否总是相同的字符数?

代码语言:javascript
复制
>>> itinline = 'QR 529  09AUG MAADOH  0405  0600QR  67  09AUG DOHFRA  0815'
>>> itinline[0:32]
'QR 529  09AUG MAADOH  0405  0600'
>>> itinline[32:64]
'QR  67  09AUG DOHFRA  0815'

如果您的数据在一行上有多个长度可变的记录,或者如果每个字段之间可能有空格,也可能没有空格,那么解析就会变得更加复杂,但在Python中仍然可以相当容易地完成。在这种情况下,请发布一个包含几条记录的更完整的示例,并显示您想要获得的输出。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32714642

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档