Bir dosyadan veya stdin
'dan girdi kabul eden ve bunları dosya benzeri bir nesneyi girdi olarak alan pandalar read_csv
kullanarak ayrıştıran bazı ayrıştırma komut dosyalarına sahibim.Python'da stdin'i sıfırlayın veya yeniden okuyun mu?
Bazen üstbilgi farklıdır, bu yüzden dosyayı okumaya çalışmak için denemeyle ayarlanmıştım, ancak ayrıştırılamıyorsa, alternatif bir başlık belirtimiyle deneyin.
Bu, dosyalar için çalışır, ancak giriş olarak stdin
kullanırsam, başlık satırının, ilk denemeyle read_csv
'da "tüketildiği" anlaşılıyor.
Bu satırı tampon veya pandalar gibi olacak şekilde, ayrıştırma ikinci bir girişim için stdin
sıfırlamak için bir yol olup olmadığını merak ediyorum.
emin değil örnek kod yardımcı olabilir, ancak olacaktır:
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...