Уведомления

Группа в Telegram: @pythonsu

#1 Май 11, 2016 11:07:49

sander
Зарегистрирован: 2015-02-19
Сообщения: 317
Репутация: +  53  -
Профиль   Отправить e-mail  

Запись и выборка строк в CSV

coffe4wolf
multiline

Офлайн

#2 Май 11, 2016 11:19:36

coffe4wolf
Зарегистрирован: 2016-04-21
Сообщения: 34
Репутация: +  0  -
Профиль   Отправить e-mail  

Запись и выборка строк в CSV

Разобрался, всё хорошо пишется, настройку кодировки допишу немного позже.

import re
output_file = open('output.csv','wt')
s = re.findall("[А-я\s.]+[;][\d\.]+\s[\d\:]+[;][\d\.]+\s[\d\:]+[;]",open("testcsv.csv").read(), re.M)
for row in s:
    output_file.write(row)
output_file.close()
Однако всплыла другая проблема, связанная с тем, что выходит на выходе.
В моей таблице попадаются места вроде этого:
Иванов И.И.		                                                     
                       17.04.2016 7:47	17.04.2016 20:08
                       18.04.2016 8:00 18.04.2016 18:20
То есть последние две строки относятся к Иванову И.И., однако шаблон первую строку не пропускает и данные выпадают. Притом в таблице так же есть строки с сотрудниками, которые не посещали предприятие за указанный период, соответственно в них пустые ячейки с временем прихода-ухода. Пока не совсем пойму как отловить подобные случаи (хотя строки, в которых заполнены ячейки только времени прихода-ухода, шаблон вылавливает). Нужно считанную из файла таблицу преобразовывать в строку и редактировать подобные случаи таким образом:
Иванов И.И. 17.04.2016 7:47	17.04.2016 20:08
           18.04.2016 8:00 18.04.2016 18:20
Или же на уровне применения шаблона каким-то образом сравнивать текущую и следующую строку, во время прохода по списку. Например в случае если ячейки со временем пустые проверять заполнены ли ячейки со временем на следующей строке.

Отредактировано coffe4wolf (Май 11, 2016 13:52:54)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version