Edit2: в соответствии с примером файла Excel попробуйте следующий код:
import os
with open('myfile.csv', encoding='utf-8') as f:
buff = f.read()
buff = buff.splitlines()[1:]
for data in buff:
data = data.split(',')
old_name, new_name = data[21] + '.csv', data[23] + '.csv'
if os.path.exists(old_name):
print('changing file name {} to {}'.format(old_name,new_name))
os.rename(old_name, new_name)
else:
print('no file {} with name found in location'.format(old_name))
старый ответ
Edit: содержимое файла "myfile.csv" в приведенном ниже примере:
0.25-TestData_30April
0.98-TestData_20April
0.33-TestData_20April
В случае, если у вас возникли проблемы с чтением файла, сначала убедитесь, что это файл в формате CSV, и вы можете открыть его в любом текстовом редакторе. Если у вас все еще есть проблема, вы можете попробовать открыть его с помощью encoding ='utf-8':
with open('myfile.csv', , encoding='utf-8') as f:
file_names = f.read().split()
вы можете попробовать этот простой код, основанный на вашем файле Excel, в виде файла CSV
import os
with open('myfile.csv') as f:
file_names = f.read().split()
for name in file_names:
new_name = name + '.csv'
old_name = name.split('-')[-1] + '.csv'
if os.path.exists(old_name):
print('changing file name {} to {}'.format(old_name,new_name))
os.rename(old_name, new_name)
else:
print('no file {} with name found in location'.format(old_name))
Протестированный вывод:
changing file name TestData_30April.csv to 0.25-TestData_30April.csv
no file TestData_20April.csv with name found in location
no file TestData_20April.csv with name found in location