2011-09-08 6 views
0

저는 상당히 파이썬에 익숙합니다. 제 용어가 잘못되어 사과드립니다. Python 2.6.5를 실행 중이므로 파이썬이 처음으로 공간 분석 소프트웨어와 함께 다운로드 된 이후로 3.0으로 업데이트하는 것에 대해 확신하지 못했습니다. 여러 쉼표로 구분 된 텍스트 파일에서 열 머리글을 검색하고 바꿀 프로그램을 작성 중입니다. 100 개가 넘는 헤더가 있고 모든 파일에서 동일하기 때문에 사전을 만들고 모든 대체물을 저장하기 위해 '피클'을 만들기로했습니다 (다른 게시물을 읽지 말고 아이디어를 얻었습니다). 검색 및 바꾸기 와일드 카드 사전

..."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
  1. csv 모듈을 사용하여 쉼표로 구분 된 데이터를 구문 분석하고 쓰십시오.
  2. strip() 문자열을 사용하여 원하지 않는 공백과 탭을 제거하십시오.
  3. dict 키 이름에 *을 포함하지 마십시오. 그들은 당신처럼 glob하지 않을 것입니다 희망. 그들은 문자 그대로 *을 대표합니다.
  4. 피클 대신 json을 사용하는 것이 좋습니다. JSON은 사람이 읽을 수 있고 프로그래밍 언어와 독립적 인 입니다. 피클은 다른 버전의 파이썬에서도 심지어 개의 문제를 가지고있을 수 있습니다.
+0

고마워요! 나는 당신의 해답을 찾으려고 노력 중입니다! 할 일 많지! – MJN