1
私はPythonを初めて使用しており、Hyperion FDMEEの一部としてバージョン2.7.1を使用しています。 私は、列を並べ替える必要があるファイルを持っている、同じファイルの一部として3に1つの列を分割します。マルチカラムファイルの列への行の表示
ソースファイル。
ACCOUNT;UD1;UD2;UD3;PERIOD;PERIOD;AMOUNT
QTY;032074;99953;53;2017.07.31;2017.07.31;40.91
COGS;032074;99953;53;2017.07.31;2017.07.31;-7488.36
TURNOVER;032074;99953;53;2017.07.31;2017.07.31;505.73
QTY;032075;99960;60;2017.07.31;2017.07.31;40.91
COGS;032075;99960;60;2017.07.31;2017.07.31;-7488.36
TURNOVER;032075;99960;60;2017.07.31;2017.07.31;505.73
私はこのスクリプトごとに列を並べ替えることができました。
infilename = fdmContext["OUTBOXDIR"]+"/Targit_1707.dat"
outfilename = fdmContext["OUTBOXDIR"]+"/TargitExport.csv"
import csv
infile = open(infilename, 'r')
outfile = open(outfilename, 'w+')
for line in infile:
column = line.split(';')
outfile.write(column[1] + ";" + column[2] + ";" + column[3] + ";" + column[4] + ";" + column[0] + ";" + str(column[6].strip('\n')) + ";201701" + "\n")
outfile.close()
infile.close()
結果を生成します。
UD1;UD2;UD3;PERIOD;ACCOUNT;AMOUNT;201701
032074;99953;53;2017.07.31;QTY;40.91;201701
032074;99953;53;2017.07.31;COGS;-7488.36;201701
032074;99953;53;2017.07.31;TURNOVER;505.73;201701
032075;99960;60;2017.07.31;QTY;40.91;201701
032075;99960;60;2017.07.31;COGS;-7488.36;201701
032075;99960;60;2017.07.31;TURNOVER;505.73;201701
が、私は以下の例のように別々の列にアカウント列(QTY、COGS、回転率)移調するために苦労しています。
UD1;UD2;UD3;PERIOD;QTY;COGS;TURNOVER;201701
032074;99953;53;2017.07.31;40.91;-7488.36;505.73;201701
032075;99960;60;2017.07.31;40.91;-7488.36;505.73;201701
ご意見をいただければ幸いです。
感謝を。私は次のエラーを受け取ります。 SyntaxError: '' 'が必要な文字' \ n 'が一致しません。どこかで改行を読んでいると思います。 \ n要素を取り除くためにヘッダ要素を修正しようとしましたが、無駄です。 – PaulShanahan
ありがとうございます。私は実際にオリジナルのヘッダーセクションに問題があり、元のコードを変更する必要がありました。 header_append( 'COGS') header.append( 'TURNOVER') 正常に動作した(必要でなくなった)分量列を取り除きましたが、あなたが列挙した方法がはるかに理にかなっています。 残りのすべては問題なく、必要なファイルを読み書きするように更新されました。私は言語としてのPythonを好きに始めている:) – PaulShanahan
vote and accepted all done!ヘルプをよろしくお願いいたします。 – PaulShanahan