копировать и вставлять определенные ячейки из EXCEL в определенные ячейки SPSS - PullRequest
2 голосов
/ 06 июня 2011

Я пытаюсь скопировать данные из Excel в SPSS.У меня есть 80 файлов Excel, и мне нужно скопировать и вставить одни и те же ячейки из каждой книги в основную базу данных SPSS.Есть ли способ сделать это, кроме как вручную копировать и вставлять каждое отдельное значение?

Ответы [ 2 ]

1 голос
/ 21 июня 2011

Другой подход, если у вас есть хотя бы SPSS Statistics 17, - это использовать команду расширения SPSSINC PROCESS FILES, доступную на сайте сообщества SPSS (www.ibm.com/developerworks/spssdevcentral).Это может зацикливать набор файлов и применять синтаксис SPSS к каждому, включая GET DATA для чтения файлов.Таким образом, он может читать нужные файлы Excel, открывать их в SPSS Statistics и затем выбирать любую подходящую часть набора данных.

Для этого необходим плагин Python Essentials / для вашей версии статистики, также доступный вСайт сообщества, но никаких навыков, кроме как с использованием синтаксиса SPSS, не требуется.

HTH, Jon Peck

0 голосов
/ 06 июня 2011

Я использую SPSS на своей работе, и мы ежедневно импортируем данные из Excel.Мы выполняем сохранение в текстовом формате с разделителями табуляции и используем сценарий SPSS Syntax для импорта текстовых файлов.Поскольку у вас так много файлов Excel, вы можете автоматизировать весь процесс «сохранить как» с помощью некоторого vba, если это упростит задачу.

ОБНОВЛЕНИЕ

ВотНебольшой фрагмент кода для циклического обхода (Excel) файлов в каталоге, откройте каждый из них и сохраните в виде текстового файла с разделителями табуляции.Измените обозначение .xls, если ваши файлы. xlsx или .xlsm, также вы захотите изменить пути к папкам на что-то значимое ...

Sub TestMe()
Dim wb As Workbook
Dim INfldr As String
Dim OUTfldr as String

OUTfldr = "C:\WhereIPutStuff\"
INfldr = "C:\WhereIKeepStuff\"
strFNAME = Dir(INfldr & "*.xls")

i = 1

Do
Set wb = Application.Workbooks.Open(INfldr & strFNAME)
wb.SaveAs Filename:=OUTfldr & "OutputFile(" & i & ").txt", _
          FileFormat:=xlText, _
          CreateBackup:=False

wb.Close False

i = i + 1  
strFNAME = Dir
Loop Until strFNAME = ""

End Sub
...