[PYTHON] CSVWriter는 데이터를 쓰는 순간 데이터를 저장하지 않습니다.
PYTHONCSVWriter는 데이터를 쓰는 순간 데이터를 저장하지 않습니다.
파이썬 초보자가 csv 모듈에 약간의 좌절감을 갖습니다. 이 속도로, 내가 파일 파서를 직접 작성한다면 더 쉬웠을 것이지만, 나는 Pythonic 방식으로 일을하고 싶다 ....
내 데이터를 CSV 파일에 저장해야하는 작은 파이썬 스크립트를 작성했습니다.
다음은 내 코드 스 니펫입니다.
import csv
wrtr = csv.writer(open('myfile.csv','wb'),delimiter=',', quotechar='"')
for row in rows:
wrtr.writerow([row.field1,row.field2,row.field3])
myfile.csv 파일은 성공적으로 생성되었지만 아직 비어 있지만 파이썬 프로세스에서 여전히 사용되고있는 잠금 기능이 있습니다. 데이터가 메모리의 파일에 기록되었지만 아직 디스크로 플러시되지 않은 것 같습니다.
파이썬 프로세스가 파일 잠금을 유지하고 있기 때문에 잠금을 해제 할 책임이 있다고 가정합니다. 여기 내 질문은 다음과 같습니다.
해결법
-
==============================
1.용도
용도
with open('myfile.csv','wb') as myfile: wrtr = csv.writer(myfile, delimiter=',', quotechar='"') for row in rows: wrtr.writerow([row.field1,row.field2,row.field3]) myfile.flush() # whenever you want
또는
myfile = open('myfile.csv','wb') wrtr = csv.writer(myfile, delimiter=',', quotechar='"') for row in rows: wrtr.writerow([row.field1,row.field2,row.field3]) myfile.flush() # whenever you want, and/or myfile.close() # when you're done.
첫 번째 접근법에 대한 좋은 점은 파일이 예외 발생시 자동으로 올바르게 닫히게된다는 것입니다.
파일 객체를 익명으로 만들려면 프로그램이 종료 될 때만 닫힙니다. 언제 플러시되는지 여부는 OS에 따라 다르므로 종료 할 때까지 결코 않을 수 있습니다.
-
==============================
2.파일 객체의 flush () 및 close () 메서드입니다. 또는 함께 사용하십시오.
파일 객체의 flush () 및 close () 메서드입니다. 또는 함께 사용하십시오.
from https://stackoverflow.com/questions/3976711/csvwriter-not-saving-data-to-file-the-moment-i-write-it by cc-by-sa and MIT license
'PYTHON' 카테고리의 다른 글
[PYTHON] PIL 색상을 대체하는 가장 좋은 방법은 무엇입니까? (0) | 2018.10.21 |
---|---|
[PYTHON] 파이썬에서 opencv를 사용하여 이미지의 회전 사각형 영역을 교정하는 방법은 무엇입니까? (0) | 2018.10.21 |
[PYTHON] 훈련 및 테스트 데이터에서 동일한 더미 변수 유지 (0) | 2018.10.21 |
[PYTHON] 큰 Numpy 배열 작업을위한 기술? (0) | 2018.10.21 |
[PYTHON] Python : PyQt 팝업 창 (0) | 2018.10.21 |