[英]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.