ImpWiz-UserDefined-File
インポートしたいデータファイルがインポートフィルタのASCIIまたはバイナリファイルのオプションを使用してインポートできない場合、独自のPythonまたはOriginC関数を作成してファイルをインポートできます。
Pythonベースのインポートフィルタを作成する方法について説明します。
Pythonコードを使用して、ユーザ定義のデータファイルをインポートできます。このようなコードの簡単な例を以下に示します。このコードに関する最も重要な点は、Originによってコードが呼び出される前に、目的のワークシートがアクティブ化されることです。さらに、LabTalk変数 fname$ には、インポートする現在のファイルのフルパスとファイル名が入力されます。Pythonコードで何をする必要があるかをよりよく理解するには、コードコメントをご覧ください。
import originpro as op import pandas as pd # 関数はファイルをpandas DataFrameに読み込みます。 def read_file(file): df = pd.DataFrame() with open(file, 'r') as f: line = f.readline() while line: # ここにコードを入力して、ファイルの行を解析します # 次に、それをDataFrameに追加します return df # Originのインポートフィルタによって選択されたファイルはfname$に配置されます # LabTalk変数。Pythonに取り込む必要があります。名前に$を指定しないでください! fname = op.get_lt_str('fname') # ファイルをpandas DataFrameに読み込みます data = read_file(fname) # アクティブなシートを返します。 wks = op.find_sheet() # 最初の列から始まるシートにDataFrameを追加します。 # DataFrame列ラベルは、ワークシート列のロングネームになります。 # Originは、DataFrameデータ型に基づいて列形式を自動的に設定します。 wks.from_df(data)
インポートを処理するコードを作成すると、次のように使用できます。
OriginCファイルにOriginC関数を作成することにより、ユーザ定義データファイルのインポートを処理する独自のOriginC関数を開発できます。
Origin C関数のプロトタイプは、下記のいずれかでなければなりません。
インポートを行う関数を記述して、それをOrigin Cファイルに保存したら、次のようにしてそれを使用することができます。