初心者のFileMaker pro Q&A (旧掲示板)

みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。

1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)

You are not logged in.

Announcement

新しい掲示板は、こちら:https://fm-aid.com/forum/t/filemaker


#1 2017-12-05 12:13:13

あると
Member

コンマ区切りのインポート

Win10:FMP16

CSV(コンマ区切り)のファイルをインポートするさい、1行=1フィールドに取り込む方法はあるのでしょうか?
ファイルの中身が
日付,商品ID,店舗1ID,販売数1,入荷数1,備考1,店舗2ID,販売数2,入荷数2,備考2,・・・
というものです。
インポート用に最大数を考慮したフィールドをもつテーブルを用意するという方法もあるのですが、増えたの対応に手間がかかります。

そのため、1行=1フィールドに取り込んで、当方で分離したいと考えています。
前の2項目は違いがでるまでLoopで保持しつつ、それ以降を店舗ごとにレコードをわけていければと考えています。
日付,商品ID,店舗1ID,販売数1,入荷数1,備考1
日付,商品ID,店舗2ID,販売数2,入荷数2,備考2

出来ないのであれば、CSV出力の仕様変更をお願いする予定です。
ご存知の方がおられましたら、お返事のほど、よろしくお願いいたします。

Offline

#2 2017-12-05 13:30:32

チポ
Member

Re: コンマ区切りのインポート

> 1行=1フィールドに取り込む方法はあるのでしょうか
そのままでは無理でしょう。

CSV1行にどのくらい入っているのか分かりませんが、
インポート用テーブルに、
必要充分なフィールドを用意しておけばいいことでは。

Offline

#3 2017-12-05 13:33:46

honda
Member

Re: コンマ区切りのインポート

試してないけど、データがタブ文字を含まないなら、TSVとして取り込んだらいける?

Offline

#4 2017-12-05 14:57:57

Shin
Member

Re: コンマ区切りのインポート

または、そのファイルのみを内包するフォルダーを作り、フォルダーのインポートでファイルそのものをインポートするといいでしょう。

Offline

#5 2017-12-05 15:47:24

あると
Member

Re: コンマ区切りのインポート

皆様、お返事いただきありがとうございました。

チポ様
やはりそのままでは無理ですか。
必要十分なフィールド数がわかれば良いのですが、今のところ確認中です。
項目はもう少し細かく、担当者IDや伝票番号などもあり、1店舗20~30項目にはなりそうです。それが、10数店舗もとなれば・・・しかも、これが増えることを考えると、何百フィールド必要になり、保守を考慮すると避けたいと考えております。

honda様
残念ながら、拡張子がcsvですので、tabとして該当ファイルなしで取込みが出来ませんでした。

Shin様
csvファイルは、フォルダごとの取り込みは出来ませんでした。
textファイルであれば、可能でした。

このままでは無理だということで、出力ファイルを変更してもらうか、textに変換して取り込むかなど工夫してみます。
ご協力いただきありがとうございました。

Offline

#6 2017-12-05 16:03:20

honda
Member

Re: コンマ区切りのインポート

> textに変換して取り込むかなど工夫してみます。

まっとうなCSVなら中身は単なるテキストなので、拡張子変えるだけでFileMakerはテキストとして認識します。

ただ、CSVのフォーマットが不安定であれば、改行やエスケープの扱いなど、
FileMakerに取り込んだ後自力で分割する処理の方が大変になる気がします。
出力側に不安定なフォーマットをやめてもらえるならそれが一番ですが、
多少面倒でも、インポート用のテーブル用意して、分割はFileMakerに任せた方が楽かも知れません。

Last edited by honda (2017-12-05 16:06:38)

Offline

#7 2017-12-05 16:08:45

Shin
Member

Re: コンマ区切りのインポート

中間ファイルとして、フィールドが数百になってもいいのでは。Field0001, Field0002, ... という型式で作っていけば、Evaluate() や GetField() を使って内容を取り出すことも容易です。工夫すれば、1手間で店舗ごとの整理された形にエクスポートも可能です。
そのようなフィールドを持ったテーブルは、スプレッドシートなどを使うと手軽に作れます。
もちろん、日付,商品ID,店舗ID001,販売数001,入荷数001,備考001,店舗ID002,販売数002,入荷数002,備考002,・・・というフィールド名でも同じような手間で作れます。

Last edited by Shin (2017-12-05 16:51:49)

Offline

#8 2017-12-05 20:03:50

あると
Member

Re: コンマ区切りのインポート

honda様、Shin様、ありがとうございます。

なるほど、インポート用に中間ファイルを作成して、フィールドが多くなっても問題ないのですね。
悪手かと思っておりました。

少し心に余裕が持てました。
もし、上記の形式しかできないとしても、何とかなりそうです。
改めて、ありがとうございました。

Offline

#9 2017-12-05 21:22:44

Shin
Member

Re: コンマ区切りのインポート

フィールド名を一連のものにしておき、それをまとめて、さらに別テーブルに一手間でインポートするサンプルです。
https://www.dropbox.com/s/po7zs1auhyg9b … 7.zip?dl=0
項目が規則的に繰り返しているものでしたら、このようなインポート2回のみの簡単な手順で読み取ることが出来ますよ。

Last edited by Shin (2017-12-05 21:28:42)

Offline

#10 2017-12-06 20:45:12

あると
Member

Re: コンマ区切りのインポート

Shin様
サンプルを頂きありがとうございます。
安心して、作成を進めていけると思います。

皆様、ありがとうございました。

Offline

Registered users online in this topic: 0, guests: 1
[Bot] ClaudeBot

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.021 seconds, 9 queries executed - Memory usage: 522.35 KiB (Peak: 527.26 KiB) ]