<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>ライブラリ＆オブジェクトのトピックRe: GDLでTXTファイルの内容をパラメータに入力する方法</title>
    <link>https://community.graphisoft.com/t5/%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA-%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88/GDL%E3%81%A7TXT%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE%E5%86%85%E5%AE%B9%E3%82%92%E3%83%91%E3%83%A9%E3%83%A1%E3%83%BC%E3%82%BF%E3%81%AB%E5%85%A5%E5%8A%9B%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/m-p/676497#M214</link>
    <description>&lt;P&gt;①に関してのみですが、こんな形で取得はできます。&lt;/P&gt;
&lt;LI-CODE lang="python"&gt;! 参照ファイル
_filename = stFilename

!!変数を定義
var1 = ""
var2 = 0
! var3 = ""
! var4 = ""
! var5 = ""

! 配列を定義
DIM sarray1[]
DIM sarray2[]
DIM sarray3[]
DIM sarray4[]
DIM sarray5[]
DIM sarray10[]

! ファイルを開く
ch1 = open ("TEXT", _filename,"SEPARATOR = ',', mode = ro, LIBRARY")
i = 1
j = 1

sarray1[1] = ""
sarray2[1] = 0
sarray3[1] = 0
sarray4[1] = 0
sarray5[1] = 0
sarray10[1] = 0

head_text = ""
head_num = 0
! 全ての文字列を収集
DO
	nr1 = INPUT (ch1, i, 1, var1,var2,var3,var4,var5)
	IF nr1 &amp;gt; 0 AND VARTYPE (var1) = 2 THEN 
		sarray1[j] = var1
		sarray2[j] = var2
		sarray3[j] = var3
		sarray4[j] = var4
		sarray5[j] = var5
		! ポイント1：j行1列目で取得した文字列に"E"が含まれるかを取得
		existE = STRSTR(sarray1[j],"E")
		if existE then ! ポイント2：Eが含まれる場合はその行のパラメータをsarray10に格納
			!ポイント3：1列目は「E=**」という文字列なのでそこから**の数値だけを抽出する
			n = split(sarray1[j],"E=%n",splitE,splitnum)
			sarray10[1] = splitnum
			sarray10[2] = sarray2[j]
			sarray10[3] = sarray3[j]
			sarray10[4] = sarray4[j]
			sarray10[5] = sarray5[j]
		endif
		j = j + 1
	ENDIF
	i = i + 1
WHILE nr1 &amp;gt; 0
close ch1

! 配列をパラメータに入力
RefNote1 = sarray1
RefNote2 = sarray2
RefNote3 = sarray3
RefNote4 = sarray4
RefNote5 = sarray5

parameters RefNote1 = RefNote1
parameters RefNote2 = RefNote2
parameters RefNote3 = RefNote3
parameters RefNote4 = RefNote4
parameters RefNote5 = RefNote5

for i = 1 to 5
	RefNote10[i] = sarray10[i]
	parameters RefNote10[i] = RefNote10[i]
next i

&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;1列目の値を取得して"E"が含まれる行の5列目までの値を取得しています。&lt;/P&gt;
&lt;P&gt;また、1列目は”E=**"の形で一つのフィールドに値も入ってしまっているので、文字列分割で数値のみを取り出しています。&lt;/P&gt;
&lt;P&gt;参考までにgsmファイルも添付してあります。&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;なお、ご提示のような形のCSVを上手く読み取るのはなかなか骨の折れる作業です。&lt;/P&gt;
&lt;P&gt;CSVは本来、ExcelやDBと同じようにカラム（列）とレコード（行）が整然と並んでいるべきフォーマットだと思っていますので、CSVの形の方を変えることがもし可能なのであればそちらの方が良いと思います。&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Thu, 11 Sep 2025 05:32:04 GMT</pubDate>
    <dc:creator>Kotetsu</dc:creator>
    <dc:date>2025-09-11T05:32:04Z</dc:date>
    <item>
      <title>GDLでTXTファイルの内容をパラメータに入力する方法</title>
      <link>https://community.graphisoft.com/t5/%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA-%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88/GDL%E3%81%A7TXT%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE%E5%86%85%E5%AE%B9%E3%82%92%E3%83%91%E3%83%A9%E3%83%A1%E3%83%BC%E3%82%BF%E3%81%AB%E5%85%A5%E5%8A%9B%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/m-p/676438#M213</link>
      <description>&lt;P&gt;下記リンク先の内容を参考に基本的な取得はできましたが、応用？的な取得方法わかる方いましたら教えてください。&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;A title="GDLでCSVファイルの内容をパラメータに入力する方法" href="https://support.graphisoft.co.jp/hc/ja/articles/900004224203-GDL%E3%81%A7CSV%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE%E5%86%85%E5%AE%B9%E3%82%92%E3%83%91%E3%83%A9%E3%83%A1%E3%83%BC%E3%82%BF%E3%81%AB%E5%85%A5%E5%8A%9B%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95" target="_self"&gt;https://support.graphisoft.co.jp/hc/ja/articles/900004224203-GDL%E3%81%A7CSV%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE%E5%86%85%E5%AE%B9%E3%82%92%E3%83%91%E3%83%A9%E3%83%A1%E3%83%BC%E3%82%BF%E3%81%AB%E5%85%A5%E5%8A%9B%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="TXTファイルの値を取得.png" style="width: 462px;"&gt;&lt;img src="https://community.graphisoft.com/t5/image/serverpage/image-id/91861i81BFFD6FC6889E00/image-dimensions/462x286?v=v2" width="462" height="286" role="button" title="TXTファイルの値を取得.png" alt="TXTファイルの値を取得.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;TXTファイルに画像のように記載しているとき。&lt;/P&gt;&lt;P&gt;①～③番の各値をそれぞれ取得したいのですが、どのようにすれば値を取得して配列に格納できるか知りたいです。&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;よろしくお願いします。&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 10 Sep 2025 14:02:41 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA-%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88/GDL%E3%81%A7TXT%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE%E5%86%85%E5%AE%B9%E3%82%92%E3%83%91%E3%83%A9%E3%83%A1%E3%83%BC%E3%82%BF%E3%81%AB%E5%85%A5%E5%8A%9B%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/m-p/676438#M213</guid>
      <dc:creator>WataRabbit</dc:creator>
      <dc:date>2025-09-10T14:02:41Z</dc:date>
    </item>
    <item>
      <title>Re: GDLでTXTファイルの内容をパラメータに入力する方法</title>
      <link>https://community.graphisoft.com/t5/%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA-%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88/GDL%E3%81%A7TXT%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE%E5%86%85%E5%AE%B9%E3%82%92%E3%83%91%E3%83%A9%E3%83%A1%E3%83%BC%E3%82%BF%E3%81%AB%E5%85%A5%E5%8A%9B%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/m-p/676497#M214</link>
      <description>&lt;P&gt;①に関してのみですが、こんな形で取得はできます。&lt;/P&gt;
&lt;LI-CODE lang="python"&gt;! 参照ファイル
_filename = stFilename

!!変数を定義
var1 = ""
var2 = 0
! var3 = ""
! var4 = ""
! var5 = ""

! 配列を定義
DIM sarray1[]
DIM sarray2[]
DIM sarray3[]
DIM sarray4[]
DIM sarray5[]
DIM sarray10[]

! ファイルを開く
ch1 = open ("TEXT", _filename,"SEPARATOR = ',', mode = ro, LIBRARY")
i = 1
j = 1

sarray1[1] = ""
sarray2[1] = 0
sarray3[1] = 0
sarray4[1] = 0
sarray5[1] = 0
sarray10[1] = 0

head_text = ""
head_num = 0
! 全ての文字列を収集
DO
	nr1 = INPUT (ch1, i, 1, var1,var2,var3,var4,var5)
	IF nr1 &amp;gt; 0 AND VARTYPE (var1) = 2 THEN 
		sarray1[j] = var1
		sarray2[j] = var2
		sarray3[j] = var3
		sarray4[j] = var4
		sarray5[j] = var5
		! ポイント1：j行1列目で取得した文字列に"E"が含まれるかを取得
		existE = STRSTR(sarray1[j],"E")
		if existE then ! ポイント2：Eが含まれる場合はその行のパラメータをsarray10に格納
			!ポイント3：1列目は「E=**」という文字列なのでそこから**の数値だけを抽出する
			n = split(sarray1[j],"E=%n",splitE,splitnum)
			sarray10[1] = splitnum
			sarray10[2] = sarray2[j]
			sarray10[3] = sarray3[j]
			sarray10[4] = sarray4[j]
			sarray10[5] = sarray5[j]
		endif
		j = j + 1
	ENDIF
	i = i + 1
WHILE nr1 &amp;gt; 0
close ch1

! 配列をパラメータに入力
RefNote1 = sarray1
RefNote2 = sarray2
RefNote3 = sarray3
RefNote4 = sarray4
RefNote5 = sarray5

parameters RefNote1 = RefNote1
parameters RefNote2 = RefNote2
parameters RefNote3 = RefNote3
parameters RefNote4 = RefNote4
parameters RefNote5 = RefNote5

for i = 1 to 5
	RefNote10[i] = sarray10[i]
	parameters RefNote10[i] = RefNote10[i]
next i

&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;1列目の値を取得して"E"が含まれる行の5列目までの値を取得しています。&lt;/P&gt;
&lt;P&gt;また、1列目は”E=**"の形で一つのフィールドに値も入ってしまっているので、文字列分割で数値のみを取り出しています。&lt;/P&gt;
&lt;P&gt;参考までにgsmファイルも添付してあります。&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;なお、ご提示のような形のCSVを上手く読み取るのはなかなか骨の折れる作業です。&lt;/P&gt;
&lt;P&gt;CSVは本来、ExcelやDBと同じようにカラム（列）とレコード（行）が整然と並んでいるべきフォーマットだと思っていますので、CSVの形の方を変えることがもし可能なのであればそちらの方が良いと思います。&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 11 Sep 2025 05:32:04 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA-%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88/GDL%E3%81%A7TXT%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE%E5%86%85%E5%AE%B9%E3%82%92%E3%83%91%E3%83%A9%E3%83%A1%E3%83%BC%E3%82%BF%E3%81%AB%E5%85%A5%E5%8A%9B%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/m-p/676497#M214</guid>
      <dc:creator>Kotetsu</dc:creator>
      <dc:date>2025-09-11T05:32:04Z</dc:date>
    </item>
    <item>
      <title>Re: GDLでTXTファイルの内容をパラメータに入力する方法</title>
      <link>https://community.graphisoft.com/t5/%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA-%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88/GDL%E3%81%A7TXT%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE%E5%86%85%E5%AE%B9%E3%82%92%E3%83%91%E3%83%A9%E3%83%A1%E3%83%BC%E3%82%BF%E3%81%AB%E5%85%A5%E5%8A%9B%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/m-p/676562#M215</link>
      <description>&lt;P&gt;&lt;a href="https://community.graphisoft.com/t5/user/viewprofilepage/user-id/19125"&gt;@Kotetsu&lt;/a&gt;&amp;nbsp;様&lt;BR /&gt;&lt;BR /&gt;早速のご返答ありがとうございます。&lt;/P&gt;&lt;P&gt;1については参考にして取得してみたいと思います。&lt;/P&gt;&lt;P&gt;このtxtについては既にこういう記述がされたファイルが大量にあり、&lt;/P&gt;&lt;P&gt;そのデータをうまく利用したいので何とか取得できないかと思いました。&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;サンプルまで添付いただきありがとうございます。&lt;BR /&gt;１の取得してみます！&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 11 Sep 2025 23:07:25 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA-%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88/GDL%E3%81%A7TXT%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE%E5%86%85%E5%AE%B9%E3%82%92%E3%83%91%E3%83%A9%E3%83%A1%E3%83%BC%E3%82%BF%E3%81%AB%E5%85%A5%E5%8A%9B%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/m-p/676562#M215</guid>
      <dc:creator>WataRabbit</dc:creator>
      <dc:date>2025-09-11T23:07:25Z</dc:date>
    </item>
  </channel>
</rss>

