python-3.x - 不知道如何拆分 .dat 文件行
问题描述
所以我有这个项目需要我读取 .dat 文件并将其转换为表格,.dat 文件如下所示:
50123456_lam tai man_70.0_60.0_
50223456_li tai man_60.0_90.5_
50323456_wong tai man_34.5_30.0_
50423456_ng tai man_90.5_70.0_
50523456_lau tai man_86.0_92.4_
50623456_chui tai man_70.0_64.5_
50723456_lim tai man_64.5_60.0_
50823456_pok tai man_37.5_35.50_
50923456_kim tai man_92.4_60.0_
50023456_tsang tai man_15.0_20.0_
50999999_chan peter_100.00_80.00_
我希望用下划线分割这些行,这样我就可以为每个元素制作一个列表。作为一个业余爱好者,我现在只能将文件导入我的程序,我仍然需要找出将行拆分为可用变量的方法。
这是有问题的导入程序:
import matplotlib.pyplot as plt
import fileinput
import sys
def main():
lineNum = 0
for line in fileinput.input('markdata.dat'):
lineNum += 1
sys.stdout.write(str(lineNum)+' ')
sys.stdout.write(line)
pass
if __name__ == "__main__":
main()
如果有人愿意帮助我,我将不胜感激。
解决方案
如果您只想用下划线分隔它们,那么 csv 库应该可以满足您的需求。这是一个例子;只需将分隔符更改为下划线即可。
import csv
with open('my_sample_data.dat') as f:
reader = csv.reader(f, delimiter=',')
for row in reader:
print(row)
>>>
['Date', 'Time', 'Event', 'OrgID', 'Email']
['12/15/2018', '6:55:41 AM', 'abc', '1', 'abc@email.com']
['12/15/2018', '1:36:39 PM', 'def', '2', 'def@email.com']
['12/15/2018', '2:21:56 PM', 'com', '3', 'com@email.com']
推荐阅读
- c# - 无法为 .NET Core 创建 docker 映像
- java - 列表和子列表迭代的性能改进
- c - 如何使用 getchar 读取并正确比较?
- laravel - Laravel 路由、api 和 web 用例
- php - 将来自不同数组的随机值插入 MySQL 表中的列
- python - Flask WTForms - 基于多个表单字段的自定义验证器
- c# - 在 C# 中将正则表达式与字符串连接起来
- python - 为什么这个查询在使用 flaskext.mysql 时没有正确执行,当它使用 MySQL 工作台正确执行时?
- javascript - 如何将导航栏放在引导程序 4 中 jumbtron 的正下方
- python - 鹡鸰错误新模型。models.py 中的CharField