SASのユーザ間にてより有益な情報交換・意見交換が行えます

IMPORTプロシジャでCSVファイルを読み込む際の文字切れを回避するには?

Accepted Solution Solved
Reply
SAS Employee
Posts: 121
Accepted Solution

IMPORTプロシジャでCSVファイルを読み込む際の文字切れを回避するには?

---------------------------------------

※この質問はサンプルです。

---------------------------------------

 

IMPORTプロシジャでCSVファイルを読み込む際に、文字変数の値が切れてしまうことがあります。
変数の長さを指定するなどで文字切れを回避することはできますか。


Accepted Solutions
Solution
‎05-14-2018 02:03 AM
SAS Employee
Posts: 3

Re: IMPORTプロシジャでCSVファイルを読み込む際の文字切れを回避するには?

Posted in reply to sakura_sas

直接変数の長さを指定することはできませんが、最新のSAS9ではIMPORTプロシジャで新たに追加されたGUESSINGROWS=オプションで対応できます。

 

このオプションで指定された範囲内のデータから、変数,データ型,データ長を判断します。

オプション指定には事前に読み込む最大の行数を指定します。

指定可能な値の範囲は1~32767までです。次の例では、GUESSINGROWS=オプションを使用して先頭から200行までのデータを事前に読み込み、データの判定を行なわせています。

 

例:GUESSINGROWS=オプションで先頭から200行を読み込む

PROC IMPORT OUT= WORK.test

DATAFILE="C:¥temp¥test.csv"

DBMS=CSV REPLACE;

GETNAMES=YES;

DATAROW=2;

GUESSINGROWS=200; /* 先頭から 200行を読み込む */ RUN;

View solution in original post


All Replies
Solution
‎05-14-2018 02:03 AM
SAS Employee
Posts: 3

Re: IMPORTプロシジャでCSVファイルを読み込む際の文字切れを回避するには?

Posted in reply to sakura_sas

直接変数の長さを指定することはできませんが、最新のSAS9ではIMPORTプロシジャで新たに追加されたGUESSINGROWS=オプションで対応できます。

 

このオプションで指定された範囲内のデータから、変数,データ型,データ長を判断します。

オプション指定には事前に読み込む最大の行数を指定します。

指定可能な値の範囲は1~32767までです。次の例では、GUESSINGROWS=オプションを使用して先頭から200行までのデータを事前に読み込み、データの判定を行なわせています。

 

例:GUESSINGROWS=オプションで先頭から200行を読み込む

PROC IMPORT OUT= WORK.test

DATAFILE="C:¥temp¥test.csv"

DBMS=CSV REPLACE;

GETNAMES=YES;

DATAROW=2;

GUESSINGROWS=200; /* 先頭から 200行を読み込む */ RUN;

☑ This topic is solved.

Need further help from the community? Please ask a new question.

Discussion stats
  • 1 reply
  • 184 views
  • 0 likes
  • 2 in conversation