Выполните сложение в имени пути в цикле - PullRequest
0 голосов
/ 20 октября 2019

У меня есть файл Excel с 50 листами. Названия листов: «Лист i», где i варьируется от 1 до 50 включительно. Я хочу преобразовать эти листы в csv файлы и «Sheet1», чтобы иметь номер 50, связанный с его csv именем файла, «Sheet2» иметь номер 51 и т. Д. Другими словами, мне нужнодобавьте число 49 к номеру листа.

Я попробовал этот код:

forvalues i=1(1)50 {
    import excel "D:\Dropbox\myfolder\excelfile_50_99.xls", sheet(Sheet`i') clear
    export delimited using "D:\Dropbox\myfolder\mynewcsvfile_`i+49'.csv", replace
}

Код работает, но не может получить правильные csv имена файлов: mynewcsvfile50- mynewcsvfile99. Вместо этого он создает следующие csv имена файлов: mynewcsvfile1 - mynewcsvfile50.

Как я могу заставить Stata понять, что я хочу выполнить добавление (+49) в пути экспорта?

1 Ответ

1 голос
/ 20 октября 2019

У меня работает следующее:

forvalues i = 1(1)50 {
    display `= `i' + 49'
}

50
51
52
53
54
55
.
.
.

Поэтому вам нужно заменить команду export на следующую:

export delimited using "D:\Dropbox\myfolder\mynewcsvfile_`=`i'+49'.csv", replace
...