VBS(Visual Basic Script)
[Visual Basic] VBScript, 파일 전체를 읽고 Line별로 쪼갠 후 List (Array)으로 반환, Comma로 Text 쪼개기
안산드레아스
2023. 4. 13. 17:47
반응형
아래와 같이 3개 줄로 나뉜 Text파일이 있다.
구분자는 Comma (쉼표) 으로 되어있다.
이 Text파일을 읽고 Line을 각 Array으로 가져온다.
코드를 미리 분석하면 아래 data 변수는 각 줄을 하나의 묶음 List 으로 내보낸다.
Split을 이용해 comma를 기준으로 각 항목을 잘라서 List으로 저장하여 2차 배열 (Array)으로 내보낸다.
반응형
함수로 return하여 새로운 변수 ColLines에 담았다.
이 ColLines는 각 줄의 정보가 하나씩 담겨있고 (1차 배열)
위와같이 For Each으로 3개의 줄을 하나씩 나눠서 또 data(0), data(1), data(2), data(3) 으로 각각의 값을 확인할 수 있다.
코드
Function readFilereturnLineList(file_path)
Dim fso, inputFile, line, lines, data
' 파일 시스템 객체 생성
Set fso = CreateObject("Scripting.FileSystemObject")
' 입력 파일 열기
Set inputFile = fso.OpenTextFile(file_path, 1)
' 파일 내 각 줄을 읽어서 리스트에 추가합니다
Do Until inputFile.AtEndOfStream
line = inputFile.ReadLine()
If Len(Trim(line)) > 0 Then
lines = lines & line & vbCrLf
End If
Loop
' 각 줄을 하나의 리스트로 만듭니다
data = Split(lines, vbCrLf)
For i = 0 To UBound(data)
data(i) = Split(data(i), ",")
Next
' 결과 리스트를 반환합니다
readFilereturnLineList = data
' 파일 닫기
inputFile.Close
End Function
Dim colLines, data
colLines = readFilereturnLineList("output.txt")
For Each data In colLines
If UBound(data) >= 0 Then
MsgBox data(0)
MsgBox data(1)
MsgBox data(2)
MsgBox data(3)
End If
Next
결과는 msgbox로 출력되고, 만약 data(0)만 출력한다면 아래와 같다.
즉, 아래와 같이 첫번째 항목만 뽑았다고 보면 된다.
반응형