Py学习  »  Python

如何用python从文件中读取“well”

Blodorn • 5 年前 • 1517 次点击  

我知道它的格式与readline()和tokenize相同。但我想有一种方法可以读得更多,怎么说,“漂亮的眼睛”。

我要读的文件格式如下:

Nom NMS-01
MAC AAAAAAAAAAA
UDPport 2019
TCPport 9129

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/54007
 
1517 次点击  
文章 [ 2 ]  |  最新文章 5 年前
Christian Sloper
Reply   •   1 楼
Christian Sloper    6 年前

import pandas as pd

pd.read_csv('input.txt',sep = ' ',header=None,index_col=0)

这将为您提供一个可以进一步操作的数据帧:

0       1
Nom     NMS-01
MAC     AAAAAAAAAAA
UDPport 2019
TCPport 9129
Daniel Pryden
Reply   •   2 楼
Daniel Pryden    6 年前

你的问题似乎暗示了“标记化”是一种神秘而复杂的过程。但事实上,你要做的就是 标志法

def read_file_data(data_file_path):
    result = {}
    with open(data_file_path) as data_file:
        for line in data_file:
            key, value = line.split(' ', maxsplit=1)
            result[key] = value
    return result

这并不复杂,也不需要太多代码,也不需要第三方库,而且很容易使用:

data = read_file_data('path/to/file')
print(data['Nom'])  # prints "NMS-01"

现在,这个实现使得 关于文件的结构。除其他外,它假定:

  • 整个文件的结构是键/值对
  • 文件中的每一行都是键/值对(没有注释或空行)
  • 值不能包含换行符

其中一些假设可能是错误的,但对于您提供的数据样本来说,它们都是正确的。

语言 你在分析, 只是你编写的代码,使语言与输入的文本相匹配。