1. .dbf 확장자 .csv로 변환

- .dbf 파일은 데이터베이스 회사인 디베이스에서 개발한 확장자로 1983년 dBASE II 가 도입되면서 사용되었음

- 때문에 아직도 오래된 소프트 웨어나, 디베이스를 기반으로 하는 소프트웨어는 .dbf 로 파일을 output 하며, 디베이스가 없다면 파일을 읽고 수정하기가 굉장히 번거로움

- 엑셀의 경우도 dbf 파일을 읽을 수 있으나, 자동측정장치와 같은 하드웨어로 대량의 데이터를 장기간 수집했을 경우, 수작업을 통하여 엑셀파일로 접근하는게 어렵기 때문에, 보다 쉽게 .dbf 파일을 .csv 파일로 변환할 수 있어야함

 

 

code---------------------------------------------------------------------------------

# 패키지 임포트

import csv 
from dbfpy import dbf 
import os 
import sys





csv_fn = "all.csv"

with open(csv_fn,'wb') as csvfile:

    for file_name in os.listdir('.'):

        if file_name.lower().endswith('.dbf'):

            print ("Converting %s to csv" % file_name)



            in_db = dbf.Dbf(file_name)

            out_csv = csv.writer(csvfile)





            for rec in in_db:

                out_csv.writerow(rec.fieldData)

   

            in_db.close()

            print ("Done...")

   

        else:

            print ("Filename does not end with .dbf")

 

 

figure 1. 코드 설명

 

- 위 코드의 구조는 .dbf 파일을 읽은 후, 빈 csv 파일에 내용을 붙여넣어 새롭게 생성하는 구조임

(convert가 아닌 새로운 시트에 복사 생성)

 

- 패키지 모듈 중 dbf 파일을 읽을 수 있는 패키지 dbf는 파이썬 2.x 버전에서만 사용가능함! 반드시 가상환경 사용

- (아나콘다를 통한 가상환경 명령어 사용 참고 https://imlanktonlifelab.tistory.com/11)

 

 

- 변환은 os 모듈의 디렉토리에서 진행되며, 생성 csv 파일 또한 디렉토리 내에 생성됨

- 디렉토리 변경 코드는 아래

 

code--------------------------------

os.chdir('C:/Projects/dbf2csv/')

-------------------------------------

 

- 'C:/Projects/dbf2csv/' 대신 디렉토리 붙여넣기

 

 

+ Recent posts