Last Updated on 2024-04-30 by BallPen
Mathematica 데이터를 txt 파일로 저장하고 불러오는 방법입니다.
매스매티카(Mathematica)에서 텍스트 파일(txt file) 저장과 불러오기가 간혹 필요한 경우가 있어요.
예를 들어 매스매티카에서 그린 그래프의 원시데이터(raw data)를 텍스트 파일로 저장하고 엑셀에서 불러들여 차트를 예쁘게 꾸밀 수 도 있을 거에요.
또는 실험 과정에서 얻어진 텍스트 데이터를 매스매티카로 읽어들여 연산에 활용할 수도 있습니다.
이번 글에서는 매스매티카 데이터를 텍스트 파일로 저장하고 불러오는 방법을 소개합니다.
아래는 이번 글의 목차에요.
Contents
1. WolframCloud 매스매티카에서 텍스트 파일 다루기
매스매티카를 구매하면 데스크탑에 설치해 사용할수도 있고 WolframCloud에 접속해 사용할 수도 있어요. 이 글은 cloud를 사용하는 경우입니다.
매스매티카에서 생성한 데이터를 WolframCloud에 텍스트 파일 형식으로 저장하기 위해서는 먼저 데이터가 있어야 해요.
그래서 간단한 그래프를 그려보고 그 데이터를 텍스트 파일로 저장한 후 다시 불러오는 방법을 알아보겠습니다.
1-1. Plot 명령어로 그래프 그리기
예를 들어 사인 그래프를 그려볼거에요. x를 0에서 10 \pi로 할게요.
WolframCloud에 접속해 노트북에 아래의 코드를 입력하고 Shift+Enter를 누르세요.
Plot[Sin[x], {x, 0, 10Pi}]
그러면 아래의 그래프가 만들어질 거에요.
1-2. 텍스트 파일 형식으로 저장하기
[그림 1]의 데이터를 텍스트 파일로 저장한 후 그 텍스트 파일을 마이크로소프트 엑셀에서 불러와 예쁜 차트를 만들고 싶다고 생각해봐요.
문제는 [그림 1]은 이미지이기 때문에 저 상태로는 텍스트 파일로 저장할 수 없어요. 그래서 텍스트 파일로 저장하기 위해서는 export 명령어를 사용해야 합니다.
이때 x의 범위는 0 \sim 10 \pi까지로 하고요. x의 간격은 \Delta x = 0.1로 하겠습니다. 즉 0, 0.1, 0.2, 0.3,…,31.3, 31.4 까지 0.1 간격으로 x값이 설정되는거죠.
또한 export한 파일의 이름은 test.txt로 하고요. test.txt를 WolframCloud에 저장할 때에는 folder-1 디렉토리에 ttt.txt로 저장하겠습니다.
물론 export한 파일의 이름과 실제 저장되는 파일의 이름은 같아도 됩니다. 여기서는 이름을 바꾸어 저장할 수 있다는 것을 보여주기 위해 서로 다르게 했어요.
위에서 설명한 내용을 매스매티카 코드로 만든게 아래의 코드입니다. 아래 코드를 복사해서 매스매티카에서 실행해보세요.
data=Table[{x, Sin[x]}, {x, 0, 10Pi, 0.1}]//N;
Export["test.txt",data,"Table"];
CopyFile["test.txt", CloudObject["folder-1/ttt.txt"], OverwriteTarget->True];
첫번째 줄은 x와 \rm Sin[x]의 순서쌍을 Table로 만들어 data라는 변수로 지정한 거에요.
두번째 줄은 그 data를 Table 형식으로 test.txt로 export하라는 의미입니다.
세번째 줄은 export된 test.txt를 WolframCloud의 folder-1 디렉토리 안에 ttt.txt로 저장하되, 만약 이름이 같은 파일이 있으면 덮어쓰라는 의미입니다.
위 코드의 실행결과는 아래 [그림 2]와 같아요. 데이터들이 제대로 저장된 것을 알 수 있어요.
물론 마이크로소프트 엑셀에서도 잘 불러와집니다.
1-3. 텍스트 파일 불러오기
그렇다면 이번에는 텍스트 파일을 불러오는 방법입니다.
folder-1 디렉토리 안에 저장된 ttt.txt 파일을 불러오기 위해서는 아래의 Import 명령어를 사용합니다.
dat=Import["folder-1/ttt.txt"]
그러면 아래와 같이 그 내용을 볼 수 있어요.
Export 보다는 Import가 훨씬 쉽습니다.