私はファイルかstdin
からの入力を受け入れ、入力としてファイルのようなオブジェクトを取るパンダread_csv
を使用してそれらを解析するいくつかの解析スクリプトを持っています。Pythonでstdinをリセットまたは再読み込みしますか?
時々ヘッダが異なるので、ファイルを読み込もうとするtry-exceptを設定しましたが、解析に失敗した場合は別のヘッダ指定を試してみてください。
これはファイルでは機能しますが、入力としてstdin
を使用すると、最初の試行でヘッダー行がread_csv
で「消費された」ように見えます。
この行をバッファリング、またはパンダが好きになる方法で、を解析において、第2の試みのためstdin
をリセットする方法がある場合、私は疑問に思って。
ないサンプルコードは役立ちますが、確認してください。
if Opt.Args:
FileName = Opt.Args[0]
print >> sys.stderr, "READING from FILE",FileName
elif not sys.stdin.isatty():
print >> sys.stderr, "READING from STDIN"
FileName = sys.stdin
try:
df = pd.read_csv(FileName,header=0,sep="\t", parse_dates=['RecordedDate'])
except ValueError:
try:
df = pd.read_csv(FileName,header=0,sep="\t",parse_dates=['RecordedDate_10'])
...etc...