.csvインポートエラーこんにちは
新しい JMP ユーザーはこちらです。 .csv からデータをインポートしようとしているのですが、次のエラーが発生します。
.csv 内の元のデータは次のようになります。

これは、最良の推測を使用してインポートする方法です。
これはプレーンテキストとしてインポートする方法です。
何が起こっているのか知っている人はいますか?
Re: .csv インポート エラーそして、もう少し良い答えとしては
// make a CSV file with nuls in a field
filename = savetextfile("$temp/nuls.csv",chartoblob("a,b,c~0D~0A1.1,~00~00~00,1.2~0D~0A2.1,~00~00~00,2.2"));
// load the file into a blob so we can clean it up
blobdata = loadtextfile(filename,blob);
// convert the blob to text so we can manipulate the nuls as ~00
textdata = blobtochar(blobdata);
write("\!nbefore = ", textdata);
// fix it up, convert nul to SYMBOL FOR NULL (U+2400)
// https://www.fileformat.info/info/unicode/char/2400/index.htm
// replace ~00 with three byte UTF-8 sequence for a printable character
substitute into(textdata,"~00","~E2~90~80");
write("\!n after = ", textdata);
// convert it back to a blob, handling the ~0D and ~0A that remain
repairedblobdata = Char To Blob(textdata, "ascii~hex");
// at this point, you could save it (like above) or open it from memory:
dt = open(repairedblobdata,"text"); // tell JMP to interpret the blob as a CSV text file
the diagonal NUL is a single Unicode characterthe diagonal NUL is a single Unicode character対角線の NUL は単一の Unicode 文字です
印刷されず、機能を壊す傾向がある実際の NULL 文字と、~00 ではないものの、~00 である可能性を示唆する素晴らしいグラフィックを表示する印刷可能な文字 2400 について話すのは非常に困難です。 今度はフォントを小さくします。
Re: .csv インポート エラーはい、null 文字は問題です。 考えられる回避策は次のとおりです。
// make a CSV file with nuls in a field
filename = savetextfile("$temp/nuls.csv",chartoblob("a,b,c~0D~0A1.1,~00~00~00,1.2~0D~0A2.1,~00~00~00,2.2"));
// load the file into a blob so we can clean it up
blobdata = loadtextfile(filename,blob);
// convert the blob to text so we can manipulate the nuls as ~00
textdata = blobtochar(blobdata);
write("\!nbefore = ", textdata);
// fix it up, convert nul to space
substitute into(textdata,"~00"," ");
write("\!n after = ", textdata);
// convert it back to a blob, handling the ~0D and ~0A that remain
repairedblobdata = Char To Blob(textdata, "ascii~hex");
// at this point, you could save it (like above) or open it from memory:
dt = open(repairedblobdata,"text"); // tell JMP to interpret the blob as a CSV text file
JMP 文字列は 2GB に制限されているため、非常に大きなファイルがある場合は機能しません。
Re: .csv インポート エラーBLOB については次のようになります。
Notepad++ では NULL 文字として表示されます


Re: .csv インポート エラーJMP 14 をお持ちの場合は、複数ファイルのインポートを使用してみてください。
これを使用してファイルを覗いて、問題のある文字を 16 進数で確認できます。
blob = loadtextfile("$Downloads\data_LCS.csv",blob(readlength(1000)));
write(char(blob));
Char To Blob( "Q1~09Q2~09Q3~09Q4~09Q5~09Q6 ...
上記の 1000 がバーコード値を含めるのに十分な長さである場合、データについての詳細がわかります。 この例では、~09 はフィールドを区切る TAB 文字です。
Re: .csv インポート エラーExcel に正常にインポートされ、バーコードが単なる空のスペースとして読み取られます。 これを Excel ファイルとして保存して、JMP にインポートすることもできますが、大量のデータ ファイルがあり、将来的にはライブ データを使用することになるため、できればその手順は避けたいと考えています。

Re: .csv インポート エラー次のページで見つけました。 「キャラクター」に設定できるかどうかを確認してみます。 注: この列を除外すると、その後にあるすべてのデータ セルが除外されるようです。 最初のバーコード値の後のカンマが表示されないのと同じです。


Re: .csv インポート エラーマークさん、アドバイスありがとうございます。
ここではテキスト インポート ウィザードを使用しました。 さまざまな文字セットをすべて試しましたが、どれも役に立たないようです。 また、ウィザードには、特定の 1 つの列だけの文字セットを変更する方法がないようです。 別の方法はありますか? 最初のバーコード値の後の区切りに問題があるようです。

Re: .csv インポート エラー問題は明らかにバーコード値です。
デフォルト設定の代わりにテキスト インポート ウィザードを使用します。 バーコード列のデータ型を文字に変更し、ファイルの読み取りが改善されるかどうかを確認します。 まず、すべてのデータをテーブルに取得しましょう。 そうなるとバーコードをどうするか悩むことになります。