Разделение записи списка в Python - PullRequest
0 голосов
/ 24 марта 2020

Я импортирую файл CSV в список в Python. Когда я разделяю его на элементы списка, а затем печатаю индекс, запись печатается следующим образом.

2000-01-03,3.745536,4.017857,3.631696,3.997768,2.695920,133949200

Как бы я разделил этот список, если бы я хотел просто напечатать такой элемент соло? 2000-01-03 Вот мой код.

def main():
    list = []
    filename = "AAPL.csv"
    with open(filename) as x:
        for line in x.readlines():
            val = line.strip('\n').split(',')
            list.append(val)
    print(list[2])

Ответы [ 2 ]

1 голос
/ 24 марта 2020

Ваш текущий код создает список списков, а именно список (строк) списков (полей).

Чтобы извлечь один элемент, скажем, первое поле третьей строки, вы можете сделать:

...
print(list[2][0])

Но, за исключением тривиальных задач, вы должны использовать модуль csv при обработке файла csv, потому что он устойчив в таких случаях, как переводы строк или разделение полей, содержащихся в полях. Ваш код может стать:

def main():
    list = []
    filename = "AAPL.csv"
    with open(filename) as x:
        rd = csv.reader(x)
        for val in rd:          # the reader is an iterator of lists of fields
            list.append(val)
    print(list[2][0])
0 голосов
/ 24 марта 2020
list = [2000-01-03,3.745536,4.017857,3.631696,3.997768,2.695920,133949200]
str(list)
list.split(',')
print(list[0])

результат:

2000-01-03
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...