2016-07-04 2 views
0

Я пытаюсь выделить дату с даты/времени, которая является столбцом в исходном файле csv. Я изолировал столбец и изменить его только дату, но я имею трудное время положить его обратно в исходный файл:Как бы вы вернули список, который вы разделили и преобразовали обратно в исходный файл?

def isolateDate(csv_file): 
    file_in = open(csv_file, "rU") 
    reader = csv.reader(file_in) 
    next(file_in,None) 
    for line in reader: 
     date = line[3] 
     date = date.split() 
     new_date = date[0] 
    return new_date 

Как бы я идти о вводе назад new_date переменных как line[3] в исходном файле

+0

вы не можете просто переписать часть файла, вам нужно переписать все это своими новыми данными. Имеет ли файл только даты-раз? – user2027202827

+0

Это большой файл с именами и 27 другими столбцами, я надеялся просто изменить один из его столбцов. Как вы могли бы написать весь файл с новыми изменениями? – peaceandiago

ответ

1

Вам нужно будет прочитать во всех строк из файла, изменять 4-й столбец (индекс 3), а затем переписать обратно в файл:

with open(csv_file, "r") as file_in: 
    reader = csv.reader(file_in) 
    header = next(reader) 
    rows = [row[0:3] + [row[3].split()[0]] + row[4:] for row in reader] 
    #     ^^^modified date^^^ 

with open(csv_file, "w") as file_in: 
    writer = csv.writer(file_in) 
    writer.writerow(header) 
    writer.writerows(rows) 
Смежные вопросы