Предположительно , учитывая, что у вас есть котировки вокруг хотя бы одного из значений, возможно, что пробелы будут отображаться внутри значения. Таким образом, вы не можете просто 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)
У меня пари, у панд есть какая-то утилита для этого, http://pandas.pydata.org/pandas-docs/stable/index.html – dm03514
Вы должны установить отображаемое имя в своем профиле, а не включать signoff в ваших сообщениях: http://stackoverflow.com/users/edit/2593632 –
Похоже, что каждый ответ сделал другое предположение о том, в какой части этого у вас возникают проблемы, и как ваши данные обобщаются. Это означает, что вам, вероятно, нужно прочитать ответы и предоставить достаточно кода, данных и объяснений, чтобы устранить догадки. – abarnert