Python: 如何将 *.dat 文件另存为 *.csv 文件到新文件夹
Python: How to save *.dat-files as *.csv-files to new folder
我有一个包含大量 *.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)
行 input_file = idlsave.read("C:/Users/RAW/06211714.dat") 显示以下输出:
可用变量:原始 class ['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)
我有一个包含大量 *.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)
行 input_file = idlsave.read("C:/Users/RAW/06211714.dat") 显示以下输出:
可用变量:原始 class ['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)