에 사전 레코드를 삽입하는 Python
응용 프로그램이 있습니다 (PyMongo
통해).Python - 사전의 값에 유형 지정
사전 레코드는 CSV
파일의 행 (실제로는 탭으로 구분되었지만 같은 차이)에서 읽습니다. 때 사실, 모든 내 값 유형 string
의 것을 를 제외하고,이 아주 잘 작동
with open(input_file, 'r') as f_h:
reader = csv.DictReader(f_h, delimiter='\t')
records = []
for record in reader:
records.append(record)
if len(records) % 100 == 0:
db.add_record(table_name, records) #MongoDB helper method
records = []
:
나는 코드를 사용하고는 CSV
파일을 읽고 MongoDB
으로 각 행을 삽입하려면 나는 또한 int
과 float
값을 가지고 있습니다. I 생각하다. 파이썬에는 형식을 결정하는 기능이 있지만 위 코드에서이를 구현하는 방법을 잘 모르겠습니다. 아무도 이것에 대해 어떤 생각을 가지고 있습니까?
는 UPDATE :
모두 sihrc
및 Joran
의 대답은 나에게 올바른 방향을 지적했다. 그러나, 전체 작업 구현으로 업데이트하고 싶었습니다. 내 질문에 MongoDB에 보내기 전에 어떻게 사전의 각 요소의 형변환을 변경하겠습니까? 이렇게하려면 사전에 각 key/value
쌍 이상의 루프에 코드를 넣어야했습니다.
for key, value in dictionary.iteritems():
try:
dictionary[key] = int(value)
except: pass
try:
dictionary[key] = float(value)
except: pass
return dictionary
지금은 매력처럼 작동합니다. 두 가지 대답을 받아 들일 수 있기를 바랍니다.
input_file에서 유형을 읽으려고하십니까? 시도 캐치 안에 캐스팅 해 볼 수 있습니다 .. – sihrc
내가해야 할 수도 있겠지만, 내가 여기서 물어 보는 것입니다. – Brett