0

0

从文本文件中提取数据并构建Python字典

DDD

DDD

发布时间:2025-10-24 12:54:14

|

686人浏览过

|

来源于php中文网

原创

从文本文件中提取数据并构建python字典

本文旨在讲解如何使用 Python 从文本文件中读取特定格式的数据,并将日期时间信息作为键,对应数值作为值,构建一个字典。我们将提供详细的代码示例,并解释其工作原理,帮助你轻松完成数据提取和转换的任务。

读取文本文件并提取数据

首先,我们需要打开文本文件并逐行读取其内容。假设我们的文本文件名为 mytext.txt,内容格式如下:

BBM 17/12/2023 15:15:04 1.85 2700.0 41857.9
BBM 17/12/2023 16:00:02 1.68 2698.0 41992.8
BBM 17/12/2023 16:45:04 1.6 2702.0 41908.3
BBM 17/12/2023 17:30:10 1.47 2706.0 41975.1
BBM 17/12/2023 18:15:02 1.35 2692.0 41934.5

我们的目标是将日期时间(例如 17/12/2023 15:15:04)作为键,对应的数值(例如 1.85)作为值,存储到字典中。

以下是实现此功能的 Python 代码:

立即学习Python免费学习笔记(深入)”;

汉潮社区团购系统
汉潮社区团购系统

汉潮社区团购拼团系统以社区/农村/商业区基本单位,通过招募社区团长,通过微信群等社交工具进行开团销售,把相同一社区人群的日常所需商品交由平台+商家+团长+平台配送员集中管理运营的一种新型社区消费模式,为您提供一套完整的社区团购运营方案,帮助您快速构建运营管理体系,降低前期投入成本。系统从用户体验到供应链管理模块环环相扣,简单易懂,让您轻松玩转社区团购/拼团!安装步骤:一、配置数据库文件,修改数据库

下载
res = {}

with open('mytext.txt', 'r') as f:
    data = f.readlines()

for line in data:
    values = line.removeprefix('BBM ').split(' ')
    res[f'{values[0]} {values[1]}'] = values[2]

print(res)

代码解释:

  1. res = {}: 创建一个空字典 res,用于存储提取的数据。
  2. with open('mytext.txt', 'r') as f:: 使用 with open() 语句打开文件 mytext.txt,以只读模式 ('r') 打开。 with 语句确保文件在使用完毕后会被自动关闭,即使发生异常也是如此。
  3. data = f.readlines(): 使用 readlines() 方法读取文件的所有行,并将它们存储在一个名为 data 的列表中。 列表中的每个元素都是文件的一行文本。
  4. for line in data:: 循环遍历 data 列表中的每一行。
  5. values = line.removeprefix('BBM ').split(' '):
    • line.removeprefix('BBM '): 从当前行 line 中移除前缀 "BBM "。
    • .split(' '): 使用空格作为分隔符,将处理后的行分割成一个字符串列表 values。
  6. res[f'{values[0]} {values[1]}'] = values[2]:
    • f'{values[0]} {values[1]}':使用 f-string 将列表中的第一个元素 (values[0], 日期) 和第二个元素 (values[1], 时间) 组合成一个字符串,作为字典的键。
    • values[2]: 将列表中的第三个元素 (values[2], 数值) 作为字典的值。
    • res[...] = ...: 将键值对添加到字典 res 中。
  7. print(res): 打印生成的字典。

运行结果:

{'17/12/2023 15:15:04': '1.85', '17/12/2023 16:00:02': '1.68', '17/12/2023 16:45:04': '1.6', '17/12/2023 17:30:10': '1.47', '17/12/2023 18:15:02': '1.35'}

注意事项

  • 文件路径: 确保 open() 函数中的文件路径是正确的。如果文件不在当前工作目录下,需要提供完整的文件路径。
  • 数据类型: 提取的数值默认是字符串类型。如果需要进行数值计算,需要将其转换为 float 类型,例如:res[f'{values[0]} {values[1]}'] = float(values[2])。
  • 异常处理: 可以添加异常处理机制,例如使用 try...except 块来处理文件不存在或数据格式错误的情况。
  • 数据清洗 根据实际情况,可能需要对提取的数据进行进一步的清洗和处理,例如去除空格、处理缺失值等。

总结

本文介绍了如何使用 Python 从文本文件中提取特定格式的数据,并将日期时间信息作为键,对应数值作为值,构建一个字典。 通过灵活运用字符串操作、文件读取和字典操作,可以高效地处理各种文本数据提取任务。 记住根据实际情况调整代码,并进行适当的错误处理和数据清洗,以确保程序的稳定性和数据的准确性。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
python中print函数的用法
python中print函数的用法

python中print函数的语法是“print(value1, value2, ..., sep=' ', end=' ', file=sys.stdout, flush=False)”。本专题为大家提供print相关的文章、下载、课程内容,供大家免费下载体验。

186

2023.09.27

数据类型有哪几种
数据类型有哪几种

数据类型有整型、浮点型、字符型、字符串型、布尔型、数组、结构体和枚举等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

309

2023.10.31

php数据类型
php数据类型

本专题整合了php数据类型相关内容,阅读专题下面的文章了解更多详细内容。

222

2025.10.31

string转int
string转int

在编程中,我们经常会遇到需要将字符串(str)转换为整数(int)的情况。这可能是因为我们需要对字符串进行数值计算,或者需要将用户输入的字符串转换为整数进行处理。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

443

2023.08.02

css中float用法
css中float用法

css中float属性允许元素脱离文档流并沿其父元素边缘排列,用于创建并排列、对齐文本图像、浮动菜单边栏和重叠元素。想了解更多float的相关内容,可以阅读本专题下面的文章。

579

2024.04.28

C++中int、float和double的区别
C++中int、float和double的区别

本专题整合了c++中int和double的区别,阅读专题下面的文章了解更多详细内容。

102

2025.10.23

js 字符串转数组
js 字符串转数组

js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

298

2023.08.03

js截取字符串的方法
js截取字符串的方法

js截取字符串的方法有substring()方法、substr()方法、slice()方法、split()方法和slice()方法。本专题为大家提供字符串相关的文章、下载、课程内容,供大家免费下载体验。

212

2023.09.04

俄罗斯Yandex引擎入口
俄罗斯Yandex引擎入口

2026年俄罗斯Yandex搜索引擎最新入口汇总,涵盖免登录、多语言支持、无广告视频播放及本地化服务等核心功能。阅读专题下面的文章了解更多详细内容。

158

2026.01.28

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
最新Python教程 从入门到精通
最新Python教程 从入门到精通

共4课时 | 22.3万人学习

Django 教程
Django 教程

共28课时 | 3.6万人学习

SciPy 教程
SciPy 教程

共10课时 | 1.3万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号