Как прочитать CSV-файл со строкой, но преобразовать в другой тип и отправить в массив в Python?

1

У меня есть файл csv, содержащий дату и время, номер1, номер2, номер3 номер4.

Я использую код для чтения, но как изменить типы.

мой код:

import csv
import datetime
myarray=([])
filename='Contract.csv'
f=csv.reader(open(filename,'rb'), delimiter=',')
for row in f:
    myarray=array([row for row in f])
print myarray

Я получаю массив выглядит так: [['2010-05-01 15:20:12 0000' '345' '234' '163' '120'], ['2010-05-02 15:22:12 0000' '335' '214' '164' '120'],...]

Я не знаю, как изменить первый столбец на datetime, а другие - на float. Пожалуйста помоги. благодаря

Теги:

2 ответа

1

Сначала прочитайте этот вопрос.

Было сказано, что. Я использую функцию, подобную этой (requries python-dateutil) для управления датами тоже:

from dateutil.parser import parse as date_parser
def _cast_value(self, value):
    tests = (
        int,
        float,
        lambda value: date_parser(value)
    )
    for test in tests:
        try:
            return test(value)
        except ValueError:
            continue
    return value

dateutil будет обрабатывать различные форматы даты для вас.

0

Вам нужно преобразовать значения:

i=int(s)
dt=datetime.datetime.strptime(s, '%Y-%m-%d ...')

Ещё вопросы

Сообщество Overcoder
Наверх
Меню