Python使用不同的名称保存多个CSV

Python使用不同的名称保存多个CSV,python,pandas,dataframe,save,Python,Pandas,Dataframe,Save,我正在使用pandas读取多个文件,需要使用原始文件名保存每个文件。如何使用原始文件名+前缀或数字重命名输出文件 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)

我正在使用pandas读取多个文件,需要使用原始文件名保存每个文件。如何使用原始文件名+前缀或数字重命名输出文件

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

您可以使用基于旧名称的格式字符串创建新文件名:

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)

shot只需将您可以使用的
df.to_csv('J:\Temp\'+filename+''u corrected.97o',index=False)附加到每个循环的文件名上
@Bugs404 jammer但您的答案不起作用可能与Hi重复谢谢您的答案但似乎弄乱了路径-出现“无此类文件或目录”错误-代码似乎在向文件路径中添加额外\\这是我得到的:FileNotFoundError:[Errno 2]无此类文件或目录:“J:\\Temp\\Michael\\Python\\Rinex日期错误\\J:\\Temp\\Michael\\Python\\Rinex日期错误\\'+filename+\u corrected.97o\u corrected.97o”