搜索和替换字典中的通配符

时间:2011-09-08 13:46:50

标签: python dictionary wildcard pickle

我对Python很新,所以如果我的术语错了,我道歉。我正在运行Python 2.6.5,我不确定是否更新到3.0,因为Python最初是使用我的空间分析软件下载的。 我正在编写一个程序来搜索和替换多个逗号分隔的文本文件中的列标题。由于有超过一百个标题,并且它们在所有文件中都是相同的,我决定创建一个字典和'pickle'以保存所有替换(从阅读其他帖子获得的想法)。当我注意到文本文件列标题中有标签和空格时,我的问题出现了,例如:

    ..."Prev Roll #: ","Prev Prime/Sub","Frontage : ","Depth            : ","Area             : ","Unit of Measure  : ",...

所以我想为什么不在我的关键术语末尾插入通配符,这样无论有多少空格划分名称和冒号,搜索都会匹配它。我正在尝试*通配符,但它不起作用,当我运行它时没有匹配/替换。我正确使用通配符吗?我正在努力做甚么可能吗?或者我应该取消词典泡菜? 以下是我正在尝试做的一个示例

import cPickle as pickle

general_D = { ....
             "Prev Prime/Sub" : "PrvPrimeSub",
             "Frontage*" : "Frontage",
             "Depth*" : "Depth",
             "Area*" : "Area",
             "Unit of Measure*" : "UnitMeasure", 

感谢您的投入!

1 个答案:

答案 0 :(得分:1)

  1. 使用csv模块解析和编写以逗号分隔的数据。
  2. 使用字符串strip()方法删除不需要的空格和标签。
  3. 请勿在您的dict密钥名称中包含*。他们不会像你一样全球化 希望。它们只代表文字*
  4. 最好使用json而不是pickle。 JSON是 人类可读,独立于编程语言。泡菜可能有 甚至跨不同版本的Python的问题。