I have a code like this to process all files in folder and I've got a problem with last line. I want to save file after each iteration with custom name. Expample:
File in folder = SX.txt
Input value = 2
New file name = SX_2.txt
import glob
import pandas as pd
import os
txtfiles = []
for file in glob.glob("*.txt"):
txtfiles.append(file)
print(txtfiles)
name_5=input("Mode number to extract:")
for filepath in glob.glob('*.txt'):
with open(filepath) as file:
#data1 = pd.DataFrame(pd.np.empty((0, 5)))
data1 = pd.read_csv(file, delim_whitespace=True , index_col=None, header=None)
data1.columns = ["a", "b", "c", "d","e"]
data1['mode'] = data1.groupby(['b']).ngroup()
data1['mode_1'] = data1['mode']+1
data_d = data1[data1['mode_1'] == float(name_5)]
del data_d["mode"]
data_d["b"]=data_d["b"].round(decimals=3)
data_d["c"]=data_d["c"].round(decimals=3)
print(data_d)
data_d.to_csv(f'{file} + "_" + {name_5}.csv', sep=' ', index=False)
Last line gives an error:
OSError: [Errno 22] Invalid argument: '<_io.TextIOWrapper name=\'SX1.txt\' mode=\'r\' encoding=\'cp1252\'> + "_" + 2.csv'
Could you help please? Thanks