欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python 結(jié)構(gòu)化字符串中提取數(shù)據(jù)詳情

 更新時間:2022年08月19日 14:44:31   作者:盼小輝丶  
這篇文章主要介紹了Python 結(jié)構(gòu)化字符串中提取數(shù)據(jù)詳情,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下

前言

在許多自動化任務(wù)中,我們都需要從已知格式結(jié)構(gòu)化的輸入文本中提取相關(guān)信息。例如,我們可能需要在一段電影評論數(shù)據(jù)中提取觀影時間、電影名、評分等信息,以便存儲后進行進一步分析。在本節(jié)中,我們將以提取電影評論數(shù)據(jù)信息為例講解如何從結(jié)構(gòu)化字符串中提取數(shù)據(jù)。

從結(jié)構(gòu)化字符串中提取數(shù)據(jù)

假設(shè)我們具有以下結(jié)構(gòu)的電影評分數(shù)據(jù),我們需要解析存儲觀影時間、電影名、評分等信息:

[<Timestamp>] -?MOVIE ID: <movie id>?- MOVIE NAME: <movie name>?- SCORE: <score of the movie>

例如,一條可能的電影評分記錄如下所示:

[2022-08-01T11:58:41.504054] - MOVIE ID: 00015?- MOVIE NAME: Inception?- SCORE: 8.5

其中,我們使用標準格式表示時間和日期,這在計算機中廣泛應(yīng)用。

字符串解析

首先,導(dǎo)入所需庫,并給出所需解析的用戶對電影的評分記錄:

>>> import delorean
>>> from decimal import Decimal
>>> text = '[2022-08-01T11:58:41.504054] - MOVIE ID: 00015 - MOVIE NAME: Inception - SCORE: 8.5'

將評分記錄使用 split() 方法拆分為多個部分,我們使用 “-” 作為分隔符拆分每個元素,將評分記錄拆分為 4 部分——時間戳、電影 ID、電影名和電影評分,便于之后將它們解析為正確的類型:

>>> divided_text = text.split(' - ')
>>> divided_text
['[2022-08-01T11:58:41.504054]', 'MOVIE ID: 00015', 'MOVIE NAME: Inception', 'SCORE: 8.5']
>>> timestamp, movie_id, movie_name, score = divided_text

將時間戳解析為 datetime 對象。由于在評分記錄中時間戳包含在方括號中,為了正確解析時間戳,需要去掉括號,然后使用 delorean 模塊將其解析為日期時間對象:

>>> timestamp = delorean.parse(timestamp.strip('[]'))
>>> timestamp
Delorean(datetime=datetime.datetime(2022, 1, 8, 11, 58, 41, 504054), timezone='UTC')

將 movie_id 解析為整數(shù)。為了解析電影 ID,需要使用冒號作為分隔符拆分 movie_id,然后,將最后一個元素解析為整數(shù):

>>> movie_id = int(movie_id.split(':')[-1])
>>> movie_id
15

將評分解析為 Decimal 類型。為了解析電影評分,我們同樣使用冒號作為分隔符拆分 score,并將其解析為十進制字符對象 Decimal (這是由于此值解析為浮點類型會改變精度):

>>> score = Decimal(score.split(':')[-1])
>>> score
Decimal('8.5')

為了便于解析和聚合,我們可以將所解析的數(shù)據(jù)組合在一起成為一個對象。例如,我們可以通過在 Python 代碼中定義一個類,來方便的解析和聚合結(jié)構(gòu)化字符串中的數(shù)據(jù):

class Movie(object):
????def __init__(self, timestamp, movie_id, movie_name, score):
????????self.timestamp = timestamp
????????self.movie_id = movie_id
????????self.movie_name = movie_name
????????self.score = score
        
????def __repr__(self):
????????return '<Movie ({}, {}, {})>'.format(self.timestamp, self.movie_id, self.movie_name, self.score)

????@classmethod
????def parse(cls, text):
????????'''
????????Parse from a text with the format
????????[<Timestamp>] - MOVIE ID: <movie id> - MOVIE NAME: <movie name> - SCORE: <score of the movie>
????????to a Movie object
????????'''
????????divided_text = text.split(' - ')
????????timestamp, movie_id, movie_name, score = divided_text
????????timestamp = delorean.parse(timestamp.strip('[]'))
????????movie_id = int(movie_id.split(':')[-1])
????????movie_name = movie_name.split(':')[-1]
????????score = Decimal(score.split(':')[-1])
????????return cls(timestamp=timestamp, movie_id=movie_id, movie_name=movie_name, score=score)

定義 Movie 類完成后,我們可以使用以下方式方便的對評分記錄進行解析:

>>> Movie.parse(text)
<Movie (Delorean(datetime=datetime.datetime(2022, 1, 8, 11, 58, 41, 504054), timezone='UTC'), 15, ?Inception)>

到此這篇關(guān)于Python 結(jié)構(gòu)化字符串中提取數(shù)據(jù)詳情的文章就介紹到這了,更多相關(guān)Python 提取數(shù)據(jù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python編程實現(xiàn)歸并排序

    python編程實現(xiàn)歸并排序

    這篇文章主要為大家詳細介紹了python編程實現(xiàn)歸并排序的具體代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • python標準庫之time模塊的語法與簡單使用

    python標準庫之time模塊的語法與簡單使用

    在平常的代碼中,我們常常需要與時間打交道,那么在Python中,與時間處理有關(guān)的模塊就包括:time、datetime以及calendar,這篇文章主要給大家介紹了關(guān)于python標準庫之time模塊的語法與使用的相關(guān)資料,需要的朋友可以參考下
    2021-08-08
  • 使用PYTHON創(chuàng)建XML文檔

    使用PYTHON創(chuàng)建XML文檔

    今天想使用python來創(chuàng)建一個xml文件。找了下資料,發(fā)現(xiàn)資料不是很多,基本上都是使用python來解析xml文件的
    2012-03-03
  • Python簡單調(diào)用MySQL存儲過程并獲得返回值的方法

    Python簡單調(diào)用MySQL存儲過程并獲得返回值的方法

    這篇文章主要介紹了Python調(diào)用MySQL存儲過程并獲得返回值的方法,涉及Python操作MySQL存儲過程的使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-07-07
  • Python 讀取位于包中的數(shù)據(jù)文件

    Python 讀取位于包中的數(shù)據(jù)文件

    這篇文章主要介紹了Python 如何讀取位于包中的數(shù)據(jù)文件,幫助大家更好的理解和學(xué)習(xí)Python,感興趣的朋友可以了解下
    2020-08-08
  • Python+OpenCV圖像處理—— 色彩空間轉(zhuǎn)換

    Python+OpenCV圖像處理—— 色彩空間轉(zhuǎn)換

    這篇文章主要介紹了Python+OpenCV如何對圖片進行色彩空間轉(zhuǎn)換,幫助大家更好的利用python處理圖片,感興趣的朋友可以了解下下
    2020-10-10
  • 使用OpenCV實現(xiàn)逐幀獲取視頻圖片

    使用OpenCV實現(xiàn)逐幀獲取視頻圖片

    這篇文章主要為大家詳細介紹了如何使用OpenCV實現(xiàn)逐幀獲取視頻中的圖片用來標注,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-03-03
  • 零基礎(chǔ)寫python爬蟲之打包生成exe文件

    零基礎(chǔ)寫python爬蟲之打包生成exe文件

    本文介紹了通過pyinstaller和pywin32兩個插件在windows環(huán)境下,將py文件打包成exe文件,有需要的朋友可以參考下
    2014-11-11
  • python opencv實現(xiàn)圖片旋轉(zhuǎn)矩形分割

    python opencv實現(xiàn)圖片旋轉(zhuǎn)矩形分割

    這篇文章主要為大家詳細介紹了python opencv實現(xiàn)圖片旋轉(zhuǎn)矩形分割,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • 基于Python 優(yōu)化 MUI標題欄

    基于Python 優(yōu)化 MUI標題欄

    這篇文章主要介紹的是基于Python 優(yōu)化 MUI標題欄,一個特色鮮明MUI界面無疑是能夠吸引用戶的關(guān)鍵之一,這利用css和JavaScript可以很快進行實現(xiàn),但是同時對于初學(xué)者來說也是困難的,下面文章就來學(xué)習(xí)幾個簡單的小技巧實現(xiàn)頁面美化吧,需要的朋友可以參考一下
    2021-11-11

最新評論