繁体   English   中英

将多个.txt文件转换为.csv文件

[英]Convert multiple .txt files to .csv files

我有多个 .txt 文件,我想将它们转换为具有相同名称的 .csv 文件。 这些.txt 文件的文件名是这样的:

01-09-2022-something.txt
02-09-2022-something.txt
03-09-2022-something.txt
04-09-2022-something.txt
.
.
.
.
31-09-2022-something.txt

我需要将这些文件转换为.csv 但名称相同。 谁能帮我这个?

目前,我编写了这段代码进行转换,但为此,我必须知道文件名,在我的情况下,文件名不是 static 它是动态的。

import pandas as pd
file_path = "/var/opt/something.txt"
dataframe1 = pd.read_csv(file_path, delim_whitespace=True)
dataframe1.to_csv('something.csv', index = None)
import os
my_txt_files = [i for i in os.listdir('/var/opt') if i[-4:] == '.txt']
with open('/var/opt/something.csv', 'w') as out_f:
    for txt in my_txt_files:
        with open('/var/opt/' + txt, 'r') as in_f:
            out_f.write(in_f.read())

os.listdir()glob.glob("*.txt")一起使用for -loop

并使用new_path = file_path.replace('.txt', '.csv')

如果您不想更改文件内的数据,请使用os.rename()

import glob
import os

for file_path in glob.glob("/var/opt/*.txt")
    new_path = file_path.replace('.txt', '.csv')
    os.rename(file_path, new_path)

如果您想更改数据,请使用pandas

import pandas as pd
import glob
import os

for file_path in glob.glob("/var/opt/*.txt")
    new_path = file_path.replace('.txt', '.csv')
    df = pd.read_csv(file_path, delim_whitespace=True)
    # ... some changes ...
    df.to_csv(new_path, index=None)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM