2016-09-02 4 views
0

프로그램 : SQLite 데이터베이스 3.14.1 & 파이썬 2.7파이썬이나 SQLite는 즉시 출력을 검색하고 바꿀 수 있습니까?

나는 트랜잭션이라는 테이블이 있습니다. 필드 "name"에는 이름이 있습니다. 나는 그것을 즉석에서 몇 가지 문자열을 추가하는 동안 tranType에서 지정한 기준에 따라 텍스트 파일로 선택한 필드의 행을 반환하는 파이썬을 사용할 수 있습니다

e = open("export.txt", "w+") 

sqlF1 = """SELECT name, quantity, item, tDate, tranType FROM transactions WHERE tranType LIKE "%sell%" 

""" 

c.execute(sqlF1) 
for row in c.execute(sqlF1): 
    e.write('%s bought QTY %s of %s from %s on date %s\n' % row) 

e.close() 

이 잘하고 좋다. 이름 필드에는 때로는 이름과 성이 있으며 때로는 단지 이름이기도합니다.

각 행을 가져 오는 동안 이름을 확인하십시오. 필드에 공백이 있으면 (첫 번째 마지막 항목과 같이) 공백을 "+"기호로 변경하십시오. 나는 필드를 미리 바꾸고 모든 공간을 플러스로 바꾸고 싶지 않습니다.

이 작업을 수행 할 수 있습니까?

내가/모르는 알고 무엇 :

내 제한된 지식과 경험을 바탕으로, 나는 그것을 수행하는 방법을 알아낼 수 없습니다. 이 일을 만들 수있는 유일한 방법은 이름을 다른 필드에 덤프하고 모든 공백을 pluses로 변경 한 다음 SQL 부분을 다시 실행하여 다른 필드를 가져 오는 것입니다.

모든 조언을 크게 듣습니다. 그래서 다행스럽게도 필자는 지속적으로 너무 많은 바보 같은 질문 StackOverflow의 범람되지 않습니다, 곧 일부 파이썬 과정을 복용 (일부는 너무 SQLite는에 공부하고 있어요.

감사합니다!

replace() function

답변

1

이 될 수 즉시 수행 :?.

SELECT replace(name, ' ', '+'), quantity, item, tDate FROM ... 
+0

이 필드를 변경 것인가 –

+1

하는 SELECT 문을 요청하기 전에 내가 그것을 테스트해야 –

+0

를 데이터베이스를 수정하지 그래, 완벽한 의미가 그 내가 배울 많다 .... CL에게 다시 한 번 감사드립니다. –