Python:如何将* .dat文件另存为* .csv文件到新文件夹 [英] Python: How to save *.dat-files as *.csv-files to new folder

查看:656
本文介绍了Python:如何将* .dat文件另存为* .csv文件到新文件夹的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个包含很多* .dat文件的文件夹(这些文件是使用程序IDL创建的).我能够提取一个文件,将其转换为* .csv文件,然后将其保存在其他(已经存在)的文件夹中:

I have a folder with lots of *.dat files (which were created with the program IDL). I am able to take one single file, convert it to a *.csv file and save it in a different (already existing) folder:

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")行显示以下输出:

可用变量:原始类['numpy.recarray']

因此,这仅适用于一个文件,但是我正在寻找一种方法来一次获取所有* .dat文件,并将每个文件转换为具有其原始名称的* .csv文件. 我在想像这样的事情,但是没用:

So, this works fine for just taking one file, but I am looking for a way to take all *.dat files at once and convert each of them to a *.csv file with their original name. I was thinking of something like this, but it didn't work:

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)

有人可以给我一些建议吗? 谢谢.

Can someone please give me some advice? Thanks.

推荐答案

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)

这篇关于Python:如何将* .dat文件另存为* .csv文件到新文件夹的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆