我正在创建一个程序来解析数据。我的字典长了很多。因此,我想将其保存为可以读取的文件。最好是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格式显示以使其最容易阅读的最佳格式是什么?那你怎么读它作为字典呢?
我已经能够将此字典写到文件中,但是它从不回读我刚才写它的方式。
谢谢!
答案 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文件。