おそらく、値の少なくとも 1 つを引用符で囲んでいるとすれば、値内にスペースが現れる可能性があります。だから、あなたはできませんsplit()
。
区切り文字がスペースで、最初の空白がスキップされる CSV のファンキーな方言として解析できます。
with open('textfile') as f:
rows = list(csv.reader(f, delimiter=' ', skipinitialspace=True)
これにより、あなたとすべての見積もりが自動的に処理されます。
ただし、少なくともいくつかのケースでは、このような列データは、次のようにまったく分離されていない値を持つ可能性があります。
date close volume open high low
12:21 82.94 "14,748,136" 83.37 83.4 82.73
12:22 93213.12"15,222,139" 93201.1493333.3390213.94
その場合、適切な列位置で行をスライスすることによってのみ解析できます。運が良ければ、これにヘッダーを使用できます。それ以外の場合は、手動で指定する必要があります。あなたは不運だと思いますので、次のようにします。
columns = 0, 7, 15, 31, 39, 47, None
def columnize(line):
return [line[columns[i]:columns[i+1]].rstrip() for i in range(len(columns)-1)]
with open('textfile') as f:
rows = map(columnize, f)