###現在のプログラムの仕様
現在、以下のようにn行2列のcsvファイルを読み込んでいます。
2列のデータを1列ずつ扱いたかったので、このようにしています(おそらく上手なやり方でないのでしょうが、初心者なのでこうなっています)。
import pandas as pd
import sys
from sys import stderr
val1 = pd.read_csv('check.csv',usecols=[0]).values
val2 = pd.read_csv('check.csv',usecols=[1]).values
その後、使いたい値を2つ、
print('Please input [t1] : ',end='', file=stderr)
m = input('')
print('Please input [t2] : ',end='', file=stderr)
n = input('')
と、inputで端末から入力されるようにしています。
###やりたいこと(教えていただきたいこと)
上記でやっていることをコマンドラインで行いたいです。
端末で、
python a.py 入力ファイル名 出力ファイル名 値1 値2
と言った形で、1行で全てのことができるようにしたいのですがどうすればよいのでしょうか?
大変申し訳ないのですが、丁寧に教えていただけると助かります。
###自分で調べて分かっていること
ファイル読み込みは、
import sys
fp = open(sys.argv[1], 'r')
for line in fp.readlines():
print line
fp.close()
引数の取得は、
import sys
args = sys.argv
print(args)
print('第1引数:' + args[1])
print('第2引数:' + args[2])
print('第3引数:' + args[3])
で、できることは理解しました。
ただ、融合のさせ方が分かりません。
また、ファイルを読み込むのはいいのですが、最終的には上記で説明した通り、入力ファイルのデータを1列ずつ扱いたいのですが、その方法が分かりません。
これまでは以下のように、ファイルの読み込みと、usecols=[0]の処理を同時にやっていたのですが、コマンドラインバージョンでもできるのでしょうか?
val1 = pd.read_csv('check.csv',usecols=[0]).values
回答2件
あなたの回答
tips
プレビュー