druidich92
Сен. 7, 2016 11:47:13
Всем привет.
Пишу модуль для мат расчетов.
у меня возникла небольшая проблема:
вот считвыаю с ексель файла, построчно
соответственно получаю список
870.0, 880.0, 920.0, 890.0, 890.0, 920.0, 900.0, 840.0, 890.0, 940.0, 950.0, 980.0, 990.0, 920.0, 950.0, 960.0, 890.0, 870.0, 930.0, 890.0, 850.0, 910.0, 920.0, 840.0, 850.0, 880.0, ‘', ’', ‘', ’', ‘', ’', ‘', ’', ‘', ’', ‘', ’', ''
как я понял, “ появляются из за того что строки разной длины.
как убрать ” ?
py.user.next
Сен. 7, 2016 11:57:32
Код приведи и пример xls-файла.
py.user.next
Сен. 7, 2016 13:06:57
Она вообще выпадает, так как ты к колонкам применяешь нумерацию рядов (на 16 колонке выпадает). Явно что-то не то делаешь.
А пустые строки возникают, потому что колонки определяются по длине максимальной колонки. Если в колонке не хватает рядов, а они должны там быть, то эти ряды заполняются пустыми строками.
druidich92
вот считвыаю с ексель файла, построчно
Ну да, где там построчно, ты поколоночно считываешь. Надо col_values() переделать на row_values().
В общем, нужно каждый ряд, который содержит пустые строки, пропустить через функцию, которая пустые строки заменяет на нули.
druidich92
Сен. 7, 2016 13:32:35
скрипт подправил. теперь вроде норм выводит.
py.user.next
В общем, нужно каждый ряд, который содержит пустые строки, пропустить через функцию, которая пустые строки заменяет на нули.
увы, но мне нельзя на нули менять, это тестовый файл, могут быть данные и с нулями. мне эти данные еще обработать надо
marvellik
Сен. 7, 2016 19:54:23
а переопределить список исключив пустые элементы не вариант?
a = [980.0, 990.0, 920.0, 950.0, 960.0, 890.0, 870.0, 930.0, 890.0, 850.0, 910.0, 920.0, 840.0, '', '', '', '', '', '', '']
a =[ x for x in a if x != '']
print(a)
[980.0, 990.0, 920.0, 950.0, 960.0, 890.0, 870.0, 930.0, 890.0, 850.0, 910.0, 920.0, 840.0]
doza_and
Сен. 7, 2016 22:01:13
druidich92
соответственно получаю список
870.0, 880.0, 920.0
Это не список. Список выглядит так:
druidich92
увы, но мне нельзя на нули менять, это тестовый файл, могут быть данные и с нулями
А что тогда означает убрать?
может
[i for i in line if not i]
вообще pandas читает xls одной строкой и обрабатывает пустые позиции