Я пытаюсь прочитать файл с помощью команды 'exe c' в python. Поэтому я определяю функцию, известную как importing_data. Функция принимает входной путь к папке, из которой необходимо прочитать данные.
Путь печати идет с двойным обратным символом sh.
print(path)
'C: \ \ Users \\ evarxxx \\ Desktop \\ Raw_Data '
def importing_data(path,var):
data_file_list=list_of_files(path)
print(data_file_list)
Data_Raw=[0]*len(data_file_list)
order={'Aug':0,'Sep':1,'Oct':2,'Nov':3,'Dec':4,'Jan':5,'Feb':6,'Mar':7}
data_so=pd.DataFrame()
for i in data_file_list:
mon= i.split(".")[0][:3]
if(mon=='Aug'):
continue
ext=i.split('.')[1]
dictt={'csv':'pd.read_csv','xlsx':'pd.read_excel'}
command=dictt[ext]+"('"+path+'\\'+i+"')"
print(command)
return command
temp=exec(command)
return temp
Но когда я печатаю путь внутри функции, он идет с одним backsla sh.
pd.read_csv ('C: \ Users \ evarxxx \ Рабочий стол \ Офисная работа \ Время сегментированного свинца \ New_Data \ NewTechniques \ Raw_DataDe December.csv')
И с приведенной ниже ошибкой: -
( ошибка Unicode) код 'unicodeescape' c не может декодировать байты в позиции 2-3: усеченный \ UXXXXXXXX escape
(Здесь data_file_list = ['August.xlsx', 'December.csv'])
Я даже пытался заменить
path = path.replace("\\", '\\\\');
command=dictt[ext]+"('"+path+r'\\'+i+"')"
Но в этом случае в temp ни один тип не читается вместо фрейма данных
Здесь у меня два вопроса
1) Почему double backsla sh по-разному печатается внутри и снаружи функции
2) Как читать с помощью e xe c файлы csv внутри папки