不幸的是,Stata確實無法識別UTF8/Unicode。幸運的是,SPSS 22呢!我試圖解析包含具有超出+/- 4000 .txt文件的奇怪字符的變量的特定行。到目前爲止,我只設法用下面的代碼只有1 .txt文件做到這一點:SPSS 22:循環瀏覽4000個文本文件並解析其中的數據
* First, get the text files.
GET DATA /TYPE=TXT
/FILE="\my\path\20001_friends.txt"
/ENCODING='UTF8'
/DELCASE=LINE
/DELIMITERS=" "
/ARRANGEMENT=DELIMITED
/FIRSTCASE=1
/IMPORTCASE=ALL
/VARIABLES=
V1 A2082
V2 A2118
V3 A27
V4 A36
V5 A113
V6 A54
V7 A49
V8 A47
V9 A78
V10 A109
V11 A33
V12 A15
V13 A81
V14 A4
V15 A21
V16 A7.
CACHE.
EXECUTE.
DATASET NAME DataSet1 WINDOW=FRONT.
* Second, compute conditional upon Vriend = 1.
COMPUTE x = 0.
IF (V5 = "Vriend") x = 1.
COMPUTE y = 1.
EXECUTE.
* Third, get every observation after Vriend.
IF y ~= lag(x) z = 0.
IF y = lag(x) z = 1.
EXECUTE.
* Fourth, select only the names.
SELECT IF z = 1.
EXECUTE.
我想要的文件的+/- 4000做到這一點,並與所有的行的附加列表結束我從這個文本文件中解析出的行(同時刪除其餘部分)。此外,文本文件從20001_names.txt到36872_names.txt,因此不是每個標識符都可用。例如20002_names.txt可能會丟失,而20003_names.txt可能存在。我也想構造一個變量來指示行所來自的標識符(例如,對於從第一個文件解析的所有行,id = 20001)。