读取正则表达式的Excel电子表格

时间:2019-03-04 21:52:52

标签: python python-3.x pandas

我正在创建一个程序来解析数据。我的字典长了很多。因此,我想将其保存为可以读取的文件。最好是xlsx,但是txt文件也可以。除了清理程序外,这还使我可以根据要提取的数据调用不同的字典。

看起来像这样的字典:

import re
import pandas as pd

my_Dict = {   
    'cat': re.compile(r'CAT (?P<cat>.*)\n'),  
    'dog': re.compile(r'DOG (?P<dog>.*)\n'),
    'mouse': re.compile(r'MOUSE (?P<mouse>.*)\n'),    
}

将其以xlsx或txt格式显示以使其最容易阅读的最佳格式是什么?那你怎么读它作为字典呢?

我已经能够将此字典写到文件中,但是它从不回读我刚才写它的方式。

谢谢!

1 个答案:

答案 0 :(得分:0)

我建议使用逗号分隔值(.csv)文件。您可以将其视为纯文本文件,也可以在Excel中轻松打开它。

您的字典看起来像:

cat, CAT (?P<cat>.*)\n
dog, DOG (?P<dog>.*)\n
mouse, MOUSE (?P<mouse>.*)\n

就阅读而言,您只需要用第一部分作为键,第二部分作为值,就将这些行循环并以逗号分隔。

my_dict = {}

with open(filename) as f:
    for line in f:
        # Split the line on the comma
        split_line = line.split(',')

        # .strip() removes either specified characters or, if not argument is given,
        # leading and trailing whitespace
        my_dict[split_line[0].strip()] = re.compile(split_line[1].strip())

但是,如果您需要在正则表达式或名称中包含逗号,则会中断。在这种情况下,制表符分隔值(.tsv)文件可能会起作用。与其在','上拆分,不如在'\t'上拆分。

如果上述两种方法都不起作用,则几乎可以分割任意字符,但是MS Excel将识别并能够轻松打开.csv和.tsv文件。