Python панды сохраняют несколько CSV с разными именами - PullRequest
0 голосов
/ 23 мая 2019

Я читаю несколько файлов, используя панды, и мне нужно сохранить каждый файл с исходным именем_корректированного. Как переименовать выходной файл с его оригинальным именем файла + префикс или номер?

import pandas as pd
import glob
import os

#Read all files in using pandas
path = r'J:\Temp\\' 
all_files = glob.glob(path + "/*.97o")

for filename in all_files:
   df = pd.read_csv (filename)
   df = df.replace(to_replace ='1997     7    23 ', value = '2019     5    23 ', regex = True)
   df = df.replace(to_replace ='97  7 23', value = '19  5 23', regex = True)
   df.to_csv('J:\Temp\94512040_corrected.97o', index=False)

Выходной файл должен называться: filename_corrected.97o

1 Ответ

1 голос
/ 23 мая 2019

Вы можете создать новое имя файла, используя строку формата на основе старого имени:

import pandas as pd
import glob
import os

#Read all files in using pandas
path = r'J:\Temp\\' 
all_files = glob.glob(path + "/*.97o")

for filename in all_files:

   df = pd.read_csv(filename)
   df = df.replace(to_replace ='1997     7    23 ', value = '2019     5    23 ', regex = True)
   df = df.replace(to_replace ='97  7 23', value = '19  5 23', regex = True)
   fileBaseName = os.path.basename(filename).split('.')[0]
   newFilename = '{}{}_corrected.97o'.format(path, fileBaseName)
   df.to_csv(newFilename, index=False)
...