Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.72/25: Рейтинг темы: голосов - 25, средняя оценка - 4.72
3 / 3 / 2
Регистрация: 20.07.2014
Сообщений: 654

Не могу удалить пустые строки из большого файла csv

07.03.2021, 21:14. Показов 5461. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет

Python
1
2
3
4
5
6
7
8
9
10
11
#deletes empty rows
#MemoryError: Unable to allocate 1.41 GiB for an array with shape (7, 26951165) and data type object
def delete_empty_rows():
    df = pd.read_csv("D:\\proc\\sales_report_clean.csv")
    df.dropna(
        axis=0,
        how='any',
        thresh=None,
        subset=None,
        inplace=True
    )
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
07.03.2021, 21:14
Ответы с готовыми решениями:

Удалить пустые строки по значение + удалить строки если определенные строки ниже содержат пустые ячейки
Добрый день, есть страница в excel (прикрепил файл с примером, в оригинале 520 строк) она формируется из 15 других страниц. Каждая страница...

Удалить все пустые строки в файле. Не могу справиться =(
Где создать файл, чтобы программа работала ? (я пробовала создать .txt файл в папку, где находится проект) И как исправить программу,чтобы...

Удалить пустые строки из файла
Надо именно удалить (а не пропустить или не перенести текст в новый файл без пустых строк) пустые строки из текстового файла, при условии,...

16
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7390 / 4817 / 1246
Регистрация: 30.03.2015
Сообщений: 13,664
Записей в блоге: 29
07.03.2021, 21:27
antoniogrid, так ты его почисти ДО того как засунешь в панду. А там много пустых то строк?
0
3 / 3 / 2
Регистрация: 20.07.2014
Сообщений: 654
07.03.2021, 21:54  [ТС]
Я его открыть не могу, посмотрел LTFViewer5u - там все в порядке
Написал, что если строка равна нулю в исходном файле - то берем следующую строку, эту не пишем.
Все равно.

Так же эта функция делает то же самое, что за фигня.
Python
1
2
3
4
5
6
7
def delete_file_empty_rows():
    with open("D:\\proc\\sale_results_sliced.csv") as in_file:
        with open("D:\\proc\\sales_empty_deleted.csv", 'w') as out_file:
            writer = csv.writer(out_file)
            for row in csv.reader(in_file):
                if row:
                    writer.writerow(row)
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7390 / 4817 / 1246
Регистрация: 30.03.2015
Сообщений: 13,664
Записей в блоге: 29
07.03.2021, 21:57
Цитата Сообщение от antoniogrid Посмотреть сообщение
Написал, что если строка равна нулю в исходном файле - то берем следующую строку, эту не пишем.
Все равно.
Так же эта функция делает то же самое, что за фигня.
ничего не понял.
1) Если попытаться записывать только не пустые строки тоже падает ошибка?
2) если говоришь открывал файл -там реально есть пустые строки? или там строки вида ",,,,,,"?
0
3 / 3 / 2
Регистрация: 20.07.2014
Сообщений: 654
07.03.2021, 21:59  [ТС]
Нет ошибка не падает

Просто пишет в выходной файл типа:

1.Строка blalbalblabsghv
2.Строка
3.Строка blalbalblabrweqr
4.Строка
5.Строка blalbalblabrr
6.Строка
7.Строка blalbalblab34
8.Строка
9.Строка blalbalblab34

Там тула для просмотра больших файлов мне показывает, что все четенько, что все идет ряд к ряду. На самом деле, может эта тула таким образом так показывает, хз.
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7390 / 4817 / 1246
Регистрация: 30.03.2015
Сообщений: 13,664
Записей в блоге: 29
07.03.2021, 22:02
antoniogrid, стой, тогда откуда мысль что там реально есть пустые строки?
сколько у тебя оперативной памяти?
0
3 / 3 / 2
Регистрация: 20.07.2014
Сообщений: 654
07.03.2021, 22:07  [ТС]
8 гб

Добавлено через 2 минуты
Промежутки появляются, когда я запускаю

Python
1
2
3
4
5
#writes selected number of rows to new csv file
def take_first_n_rows_to_csv(rows=10000):
    with open("D:\\proc\\sales_report_clean.csv", 'r') as f, open("D:\\proc\\sale_results_sliced.csv", "w") as t:
        pd.read_csv(f, nrows=rows, delimiter=",").to_csv(t)
        f.close()
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7390 / 4817 / 1246
Регистрация: 30.03.2015
Сообщений: 13,664
Записей в блоге: 29
07.03.2021, 22:07
Цитата Сообщение от Welemir1 Посмотреть сообщение
тогда откуда мысль что там реально есть пустые строки?
??

перефразирую -сколько оперативки есть при запуске твоей проги? может там реально всего полтора гига есть свободных?
0
3 / 3 / 2
Регистрация: 20.07.2014
Сообщений: 654
07.03.2021, 22:25  [ТС]
50% памяти при запуске скрипта
Сейчас потестировал на меньших объемах - один хрен
0
3 / 3 / 2
Регистрация: 20.07.2014
Сообщений: 654
07.03.2021, 22:29  [ТС]
файл из
файл в
Вот такая хрень от скрипта. Что я сделал не так. Понять не могу.
После того, как я получил файл в
Я хочу удалить пустые строки.

Но может, на старте их не нужно допускать?


Ну, если удаляю скриптом в первом сообщении темы - то ничего не происходит.
Миниатюры
Не могу удалить пустые строки из большого файла csv   Не могу удалить пустые строки из большого файла csv  
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
07.03.2021, 22:33
Я не понял - проблема с памятью или пустыми строками?
ПО пустым строкам решается так:

Python
1
2
3
with open('eggs.csv', newline='') as csvfile:
...     spamreader = csv.reader(csvfile, delimiter=' ', quotechar='|')
...     for row in spamreader:
По newline='' написано в документации.
Тоже самое и с записью.

...
If newline='' is not specified, newlines embedded inside quoted fields will not be interpreted correctly, and on platforms that use \r\n linendings on write an extra \r will be added. It should always be safe to specify newline='', since the csv module does its own (universal) newline handling.
0
3 / 3 / 2
Регистрация: 20.07.2014
Сообщений: 654
07.03.2021, 22:36  [ТС]
Ну, смотрите, если я сохранил большой файл - может ругаться на память. И ничего не сделать.
Если поменьше, строчек 1000 - 10000 - тогда скрипт проходит - но ничего не меняется.
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
07.03.2021, 22:40
Добавлено через 4 минуты
Для чтения большого файла есть специальные параметры в read_csv:

iterator bool, default False
Return TextFileReader object for iteration or getting chunks with get_chunk().

Changed in version 1.2: TextFileReader is a context manager.

chunksize int, optional
Return TextFileReader object for iteration. See the IO Tools docs for more information on iterator and chunksize.
0
3 / 3 / 2
Регистрация: 20.07.2014
Сообщений: 654
07.03.2021, 22:45  [ТС]
Не знаю... та же тема

Python
1
2
3
4
5
6
7
8
#deletes empty rows
def delete_empty_rows_again():
    with open('D:\\proc\\sales_result_sliced.csv', newline='') as csvfile, open("D:\\proc\\sales_result_sliced_delete_empty.csv", "w") as out_file:
        spamreader = csv.reader(csvfile, delimiter=' ', quotechar='|')
        writer = csv.writer(out_file)
        for row in spamreader:
            if row:
                writer.writerow(row)
Миниатюры
Не могу удалить пустые строки из большого файла csv  
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
08.03.2021, 15:00
Цитата Сообщение от antoniogrid Посмотреть сообщение
Не знаю... та же тема
Ну читать же надо что люди пишут.

Цитата Сообщение от Garry Galler Посмотреть сообщение
По newline='' написано в документации.
Тоже самое и с записью.
Ты прочитал без лишних newlines, а при записи - добавил их. Молодца.
В твоем csv нет никаких пустых строк. Следовательно, какой смысл вообще переливать из пустого одного файла в другой файл порожнее.?
0
3 / 3 / 2
Регистрация: 20.07.2014
Сообщений: 654
08.03.2021, 17:27  [ТС]
А есть параметр, который здесь
Python
1
2
3
4
5
6
7
def replace_commas_to_csv():
    with open("D:\\proc\\sales_report.csv", "r") as f, open("D:\\proc\\sales_report_clean.csv", "w", newline='',) as t:
        for i in f:
            if i == 0:
                break
            ns = re.sub(";", ",", i)
            t.write(ns)
возьмет только первые 100 строк, например?

По остальным замечаниям разобрался..., но, полез в документацию, там про newline как-то применительно к open ничего не нашел. А где ты смотришь?
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
09.03.2021, 13:34
Цитата Сообщение от antoniogrid Посмотреть сообщение
А где ты смотришь?
https://docs.python.org/3/library/csv.html
В самом низу страницы есть куча примеров - в каждом есть newline.

Добавлено через 1 минуту
И в самих описаниях ридера и райтера:
If csvfile is a file object, it should be opened with newline=''
https://docs.python.org/3/libr... csv.reader
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.03.2021, 13:34
Помогаю со студенческими работами здесь

Удалить пустые строки из файла
вот задача: Пусть дан текстовый файл f1. Перепишите его содержимое в файл f2, сохраняя строчную структуру и удаляя пустые строки вот...

Удалить из файла пустые строки
Подскажите пожалуйста как в файле пустые строки удалить: 00259C6D1176 Device name: kolvaKust1oper 0000541844DD Device name:...

Удалить пустые строки из файла
Помогите убрать пустые строки на выходе ! Что-то не получается . using System; using System.Collections.Generic; using...

Удалить из файла все пустые строки
Дан текстовый файл. Удалить из него все пустые строки. Вот мой вариант решения: program Project2; {$APPTYPE CONSOLE} uses ...

Удалить из файла все пустые строки
Компонентой типизированного файла является строка с объявленной длиной 80 символов. В частном случае строка может быть пустой. Удалить из...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru