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

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

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

You are not logged in.

Announcement

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


#1 2016-11-16 10:37:23

qaw
Guest

MacでCSV書き出し時のフィールド内改行を改行に変換させる方法

OS:[Mac Sierra]
FileMaker Ver:[15 advanced]

ファイルメーカーの垂直タブChr(11)をエクスポート後、Macの改行記号Chr(13)に変換しようと試みているのですが、うまくいきません。
ご存知の方、お力添え頂ければ幸いです。よろしくお願い致します。

#2 2016-11-16 12:32:38

Hiro
Member

Re: MacでCSV書き出し時のフィールド内改行を改行に変換させる方法

CSV書式ルールでは「改行」は「改レコード」を表すと規定されています。
FMのCSVエクスポート機能は当然ですが順法のCSV書式だけをサポートします。

・自作XSLTスタイルシートでカスタムXMLエクスポートするとか?
・標準出力したファイルをテキストエディターなど外部ソフトで後校正するとか?

Offline

#3 2016-11-16 14:34:36

qb_dp
Member

Re: MacでCSV書き出し時のフィールド内改行を改行に変換させる方法

Mac OS でPowerShellを使うサンプルです。

PowerShellをインストールする必要があります。
以下を参考にインストールして下さい。
Mac OSX FileMaker で PowerShell を使う。 : http://qbxxdp.blogspot.jp/2016/09/mac-o … shell.html


以下FileMakerスクリプト

変数を設定 [$filePath; 値:"/Users/name/Desktop/test.csv"]

変数を設定 [$PS; 値:"$filePath=\\\"" & $filePath & "\\\";
$file_contents = $(Get-Content -Encoding UTF8  $filePath) -replace \\\"`v\\\",\\\"`n\\\";
$file_contents | Set-Content -Encoding UTF8  $filePath ;"]

変数を設定 [$Script; 値:"tell application \"Terminal\"¶
	--activate¶
	do script \"Powershell -command '" & $PS & "'\"¶
end tell"]

AppleScript を実行 [$Script]

変数を設定 [$filePath; 値:"/Users/name/Desktop/test.csv"]
は、ターゲットのファイルパスに書き換えて下さい。

Offline

#4 2016-11-16 18:06:20

qaw
Guest

Re: MacでCSV書き出し時のフィールド内改行を改行に変換させる方法

Hiroさん、qb_dpさん、ありがとうございます。
時間が空き次第、活用させて頂き、不明点あれば、ご相談させて頂ければ幸いです。
取り急ぎ御礼まで。

#5 2016-11-16 23:22:21

おけさ
Guest

Re: MacでCSV書き出し時のフィールド内改行を改行に変換させる方法

sedが使えそう?「sedコマンドで文字列を改行に置換する、しかもスマートに置換する。」
http://qiita.com/richmikan@github/items … 8dec9bd00f

UTF-16でよければ、フィールド内容のエクスポートでいいんですが、大抵はだめでしょうね。。。

#6 2016-11-17 02:49:48

Hiro
Member

Re: MacでCSV書き出し時のフィールド内改行を改行に変換させる方法

FMの標準機能だけを利用して、フィールド内改行を任意文字コードでCSVエクスポートする作例。

・CSV1行分(1レコード分)を計算生成して、それを繰り返しフィールドの各マスに改行区切りで分割代入する。
      計算 → "データA","文字列1¶文字列2¶文字列3","データB" → |"データA","文字列1|文字列2|文字列3","データB"|||・・・|
・レコード削除した作業用テーブルに上記繰り返しフィールドをレコード分けのオプション指定してインポート(新規レコードとして)。
      "データA","文字列1
      文字列2
      文字列3","データB"
・このテーブルを.csv拡張子名を冠して、TAB形式エクスポートして完了。また、出力文字コードも任意指定できます。

●サンプル「フィールド内改行のCSVエキスポート.fmp12」 →  http://yahoo.jp/box/JhzJO9

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.009 seconds, 9 queries executed - Memory usage: 565 KiB (Peak: 589.22 KiB) ]