많은 * .dat 파일이있는 폴더가 있습니다 (IDL 프로그램으로 생성됨). 하나의 파일을 가져 와서 * .csv 파일로 변환하여 다른 (이미 존재하는) 폴더에 저장할 수 있습니다.
import idlsave
import csv
input_file = idlsave.read("C:/Users/RAW/06211714.dat")
n = input_file["raw"]
with open("C:/Users/CSV/06211714.csv", "w", newline='') as f:
writer = csv.writer(f)
writer.writerows(n)
라인 = idlsave.read INPUT_FILE ( "C : /Users/RAW/06211714.dat")는 다음과 같은 결과를 나타낸다 :
사용 가능한 변수 : 원시 클래스 [ 'numpy.recarray']
따라서 이것은 하나의 파일 만 가져 오면 잘 작동하지만 모든 * .dat 파일을 한 번에 가져와 각 파일을 원래 이름의 * .csv 파일로 변환하는 방법을 찾고 있습니다. 나는 이와 같은 것을 생각하고 있었지만 작동하지 않았습니다.
import glob
for filename in glob.glob("C:/Users/RAW/*.dat"):
for element in filename:
i = idlsave.read(element)
n = i["raw"]
with open("C:/Users/CSV/*.csv", "w", newline='') as f:
writer = csv.writer(f)
writer.writerows(n)
누군가 나에게 조언을 해줄 수 있습니까? 감사.
import csv
import idlsave
from os import listdir
from os.path import isfile, join, splitext
dat_folder = "/folder/to/dat/files/"
csv_folder = "/folder/to/save/new/csv/files/"
onlyfilenames = [f for f in listdir(dat_folder) if isfile(join(dat_folder,f))]
for fullfilename in onlyfilenames:
file_name, file_extension = splitext(fullfilename)
if file_extension == ".dat":
input_file = idlsave.read(dat_folder + fullfilename)
n = input_file["raw"]
with open(join(csv_folder, file_name + ".csv"), "w", newline='') as f:
writer = csv.writer(f)
writer.writerows(n)
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다