dx-junkyard / OpenData-Bridge-DataNorm

1 stars 0 forks source link

プロンプロ作成の簡略化 #3

Closed urashin closed 11 months ago

urashin commented 1 year ago

プロンプトテンプレートを完成させる際の課題として、ヘッダーとデータ1行を取得し、テンプレートにあった文字列にする必要があるが、文字コードが混在している場合、面倒な操作が必要になる。 そこで、処理対象のcsvファイルが入っているディレクトリを指定するだけで、該当ディレクトリの各csvファイルからヘッダーとデータ1行を取得し、文字コードを変換後、テンプレートの[input]内にコピペできる形式に変換するプログラムを作成する。

urashin commented 1 year ago

ChatGPTで以下のプロンプトからベースを生成した。

以下の要件を満たすPythonコードを提示してほしい
・”-dir"の名前の引数で与えられるディレクトリから、SJISとUTF-8が混在するcsvファイルを読み取る
・読み取ったcsvのうち、"-m"で指定されたファイルをmaster.csvとする。
・master.csv以外はslave[n].csvとして扱う。[n]は1以上の整数でそれぞれのcsvにユニークな値が割り当てられる
・読み取ったcsvファイルのヘッダーと最初の1行をmaster.csv、slave[n].csvの順番に[n]の整数が小さいものからファイルに出力する。
・master.csv、slave[n].csvのヘッダーとデータ1行の出力内容をcsv_defと名付ける。
・csv_defの出力の前には"master.csv"もしくは"slave[n].csv"というそれぞれに割り当てられた名前を出力する。
・csv_defの出力は最初と最後を"---"で囲い、csv_devと次のcsv_def の間には空行を一つ入れる。

上記出力結果に対して、仕様追加

上記のpythonコードに次の要件を追加して再作成してほしい。
・先頭行が "#"で始まる場合はこれをヘッダーとはせず削除し、次の行から先頭行として扱う。
・./prompt_template.txtというファイルを読み取り、"[[INPUT]]"という文字列部分をこのプログラムの出力でおきかえる。