Работа с CSV файлами в Python | Запись данных в CSV файл | Кодировки, разделители

แชร์
ฝัง
  • เผยแพร่เมื่อ 26 ก.ย. 2024
  • В данном видео научимся записывать данные в CSV файл с помощью Python и модуля csv. Разберем проблемы с кодировкой в Windows, запись через пустую строку и научимся изменять разделитель при записи данных в CSV файл.
    💰 Поддержать проект:
    yoomoney.ru/to...
    🔥 Стать спонсором канала:
    / @pythontoday
    ****Ссылки****
    Как найти человека по фотографии на видео
    • Как найти человека по ...
    Дешевый/надежный сервер в Европе:
    zomro.com/?from...
    promo_code:
    zomro_246874
    Хороший proxy сервис:
    proxy6.net/a/1...
    Telegram bot на Python + aiogram | Прогноз погоды в любом городе
    • Telegram bot на Python...
    Плейлист по SQL:
    • SQL Tutorial
    Плейлист по парсингу сайтов на Python:
    • Парсинг/Scraping
    Плейлист по Instagram боту:
    • Instagram Bot на Pytho...
    ****Соц.сети****
    Telegram: t.me/python2day

ความคิดเห็น • 125

  • @anubisrubis9085
    @anubisrubis9085 3 ปีที่แล้ว +54

    Если у кого windows и вы хотите записать слова в ячейки друг за другом, нужно использовать delimiter=";". Если писать delimiter=",", то запишется, допустим, три слова через запятую в одну ячейку. На utf-8 кодировке да, есть проблемы. При запуске PyCharm предложил сам исправить и все заработало (меняет он на 1251).

    • @barbed_spruce
      @barbed_spruce 3 ปีที่แล้ว +6

      Пасиб, только ты бы написал, что во врайтер записывать надо

    • @magic_lev
      @magic_lev 2 ปีที่แล้ว +3

      Господи ты просто герой! Одной бессонной ночью я потратил 2 часа и так и не смогу решить эту проблему, спасибо огромное!

    • @alexanderlazaev7423
      @alexanderlazaev7423 2 ปีที่แล้ว +1

      От души мил человек, уже думал переходить на линукс, потому что ОпенОфис нормально смотрит, а эксель не туда.
      Какие-то кватирование уже пошёл писать и всё не то, а оказывается вот оно как явно, не явно.

    • @bohdansteshenko5342
      @bohdansteshenko5342 2 ปีที่แล้ว

      @Сонтер [Кубер] все равно не работает. У меня интервалам между строк норм. А вот "user_name", "user_adress" пишуться в одной ячейке.

    • @Александр-л9т5з
      @Александр-л9т5з ปีที่แล้ว

      @Сонтер [Кубер] ты лучший!

  • @Freddi.V
    @Freddi.V 3 ปีที่แล้ว +24

    Всё что связано с крипто биржами и Python, пожалуйста, записывай. И будет тебе Благословление !
    Благодарю видео.

  • @vigauss1889
    @vigauss1889 3 ปีที่แล้ว +14

    Оп нежданчик среди недели) Спасибо что делишься информацией, плюсую за работу с API +

    • @PythonToday
      @PythonToday  3 ปีที่แล้ว +1

      Благодарю за фидбэк 👍

  • @Олександр-ю5б
    @Олександр-ю5б 3 ปีที่แล้ว +16

    Интересно было бы написать трейдинг-бот. У меня были мысли сделать но пока что дошли руки только до автокликера для просмотра рекламы за деньги, даже вопрос с капчей как-то решил, а вот с масштабированием проблемы. Но вот построить бот-трейдер это как раз задача интересна и не на одно видео. Будет круто, если такие ролики появятся, ведь каждый хочет что бы вместо него на работу ходил робот 😁

    • @Tobi17460
      @Tobi17460 2 ปีที่แล้ว

      Получилось сделать автокликер рекламы, что за масштабирование?

    • @Олександр-ю5б
      @Олександр-ю5б 2 ปีที่แล้ว

      @@Tobi17460 Имеется ввиду мультиаккаунтинг. И в первую очередь не на самой платформе с рекламой, а на кошельках для вывода, которые имеют капчу и верификацию

  • @deus7204
    @deus7204 3 ปีที่แล้ว +4

    Спасибо за офигенный контент! Лайк за видео с крипто биржей 👍

    • @PythonToday
      @PythonToday  3 ปีที่แล้ว

      Благодарю за фидбэк

  • @VladYuskovich
    @VladYuskovich 3 ปีที่แล้ว +13

    Почему каждое видео этого автора как отдельный вид искусства? Я настолько уверен в ваших видео, что я когда смотрю, то сразу пытаюсь повторить за вами. Спасибо за ваши Старания. Может быть у вас получится сделать видео о том, как подключить face_recognitions к локальной камере?

    • @PythonToday
      @PythonToday  3 ปีที่แล้ว

      Спасибо за фидбэк! А в чем проблема? ДУмаю поток с камеры нужно направить через opencv, а face_recognition это библиотека которая может сравнивать лица по кодировкам полученным из изображений. Пока нет вебкамеры, как придет, сразу попробую. Но исходя из документации вроде ничего сложного. Сложнее как раз из видеофайла))

    • @VladYuskovich
      @VladYuskovich 3 ปีที่แล้ว

      @@PythonToday Проблемы направить поток нету. Хочется сделать так, чтобы при обнаружении человека приложение делало скриншот и в соседнем потоке делало обработку лица и отправляла в телеграмм. У меня почему то на ноутбуке (Asus rog g531) не получается запустить face-locations с моделью cnn. А во время работы на процессоре (i7-9th h) программа очень сильно лагает. Программа не завершается, но при отображении просто зависает. Может быть вы знаете как решить?

    • @VladYuskovich
      @VladYuskovich 3 ปีที่แล้ว

      Возможности работать на пк нету

    • @PythonToday
      @PythonToday  3 ปีที่แล้ว

      Так в последнем видео по распознаванию лица ведь реализован именно такой процесс. Работа через процессор в принципе гораздо медленнее чем через gpu, если у тебя i7, то думаю и видео карта должна быть нормальная. Пробуй работать через нее, в моем случае это добавило прирост в скорости по ощущениям минимум в 2 раза.

    • @VladYuskovich
      @VladYuskovich 3 ปีที่แล้ว

      @@PythonToday Всё верно, я смотрел видео. Я не понимаю почему оно не хочет работать через видеокарту. Я переписал ваш код слово в слово, но с видеокартой просто напросто отказывается работать. В диспетчере задач начинает нагружаться, но ничего не происходит. Может быть дело в том, что у меня ноутбук?

  • @vitalyg2599
    @vitalyg2599 2 ปีที่แล้ว +1

    Просто супер, на этом канале есть много чего я давно хотел узнать, в такой простой и четкой форме.

    • @PythonToday
      @PythonToday  2 ปีที่แล้ว +1

      Благодарю за фидбэк и поддержку!

  • @onemasterlomaster1829
    @onemasterlomaster1829 3 ปีที่แล้ว +4

    круто как всегда, все четко и понятно, спасибо за видосики!

    • @PythonToday
      @PythonToday  3 ปีที่แล้ว

      Благодарю за фидбэк!

  • @vadimfomin442
    @vadimfomin442 3 ปีที่แล้ว

    Во всех видео помимо полезной инфы музыка радует на фоне)) Спасибо за труд!!

    • @PythonToday
      @PythonToday  3 ปีที่แล้ว +1

      Благодарю за поддержку!

  • @Кучерявий-щ4н
    @Кучерявий-щ4н 3 ปีที่แล้ว +1

    Шикарно. Спасибо что подсказал тонкости с виндой

    • @PythonToday
      @PythonToday  3 ปีที่แล้ว +1

      Рад что полезно

  • @pavelsaichkin7742
    @pavelsaichkin7742 3 ปีที่แล้ว +2

    АДНАЗНАЧНА нужен ролик по сбору данных с биржи, сам инвестирую (трейдинг и крипта мимо), и в программировании на начальном уровне, будем благодарны! Спасибо за работу и годный контент!

    • @PythonToday
      @PythonToday  3 ปีที่แล้ว

      Спасибо! Буду продолжать

  • @BoJIK_Ha_Dopore
    @BoJIK_Ha_Dopore ปีที่แล้ว

    Безусловно интересно! Запили видос на тему API. Спасибо за инфу!

    • @PythonToday
      @PythonToday  ปีที่แล้ว

      Спасибо за фидбэк!

  • @DonorOfHappiness
    @DonorOfHappiness ปีที่แล้ว

    Спасибо! Объяснили человеческим языком. )

    • @PythonToday
      @PythonToday  ปีที่แล้ว

      Спасибо за фидбэк! Рад что полезно)

  • @montanagold7738
    @montanagold7738 3 ปีที่แล้ว +2

    Жду API криптобирж. С таким контентом 100к подписчиков не за горами, удачи

    • @PythonToday
      @PythonToday  3 ปีที่แล้ว

      Благодарю за фидбэк!

  • @berdkivi9023
    @berdkivi9023 3 ปีที่แล้ว +5

    Мы проявляем интерес по работе с криптобиржей! :)

    • @PythonToday
      @PythonToday  3 ปีที่แล้ว

      Мы также 😀

  • @dayf1987
    @dayf1987 3 ปีที่แล้ว

    Спасибо! Как всегда на высоте

  • @danillproginfa
    @danillproginfa 2 หลายเดือนก่อน

    Очень выручил😃

  • @Habimbo
    @Habimbo 3 ปีที่แล้ว +2

    Очень нравится твой контент, хотелось бы увидеть создание тг бота с платежной системой

    • @PythonToday
      @PythonToday  3 ปีที่แล้ว

      Спасибо за фидбэк, на всё сразу не хватает времени

  • @nadyamoscow2461
    @nadyamoscow2461 3 ปีที่แล้ว +1

    Большое спасибо за урок.
    А я в Винде просто при любой работе с файлами в open() , в любых форматах, всегда пишу encoding='utf-8', на всякий случай. Иначе обязательно какая-нибудь фигня вылезет там, где не ждешь. Мне кажется, проще заранее подстраховаться

    • @PythonToday
      @PythonToday  3 ปีที่แล้ว +2

      Спасибо за фидбэк!

  • @YarmCompany
    @YarmCompany 10 หลายเดือนก่อน +1

    У кого проблема с ячейками нужно сразу установить делитель(или как его родного там называют.Delimiter= " тут ставите свой символ". У меня почему то этот символ остается виден в таблице, пока не разобрался как его скрыть, но это мелочь, разберемся с этим. Надеюсь помог
    with open('innovators.csv', 'w', newline='') as file:
    writer = csv.writer(file, delimiter='|')

  • @jintiger4221
    @jintiger4221 ปีที่แล้ว

    Спасибо тебе! Ценю

  • @keda9121
    @keda9121 9 หลายเดือนก่อน

    6:56 очень интересно!

  • @ЕрмолинНикита-у7м
    @ЕрмолинНикита-у7м 2 ปีที่แล้ว

    Такс!) Надеюсь этот способ поможет мне решить мою проблему с уроком по парсингу Магнита!

  • @dimk7983
    @dimk7983 3 ปีที่แล้ว

    Спасибо, интересно было.

    • @PythonToday
      @PythonToday  3 ปีที่แล้ว

      Благодарю, рад что полезно 💪

  • @alexandrbusalkin1715
    @alexandrbusalkin1715 2 ปีที่แล้ว

    Спасибо, очень поучительно

    • @PythonToday
      @PythonToday  2 ปีที่แล้ว

      Благодарю за фидбэк! Рад что интересно и полезно.

  • @fedorakunin3081
    @fedorakunin3081 3 ปีที่แล้ว

    Спасибо! Продолжай!

  • @bohdansteshenko5342
    @bohdansteshenko5342 2 ปีที่แล้ว +1

    Курс отличный, много что для себя беру как начинающий. И все больше убеждаюсь, что Python не для Windows. Если с ним и работать то наверное только с Linux. Так как очень много задержек по учебе выходит из-за того, что основа работает некорректно на Винде((

    • @wizardxdeveloper
      @wizardxdeveloper 11 หลายเดือนก่อน

      Для винды есть C#, там он в основном рулит (предустановлен, да и в принципе специально под винду пилится командой майкрософта)
      А вот под линуксом реально круто с питоном работать

  • @АлексейСамаркин-ы2н
    @АлексейСамаркин-ы2н 3 ปีที่แล้ว +1

    Как всегда супер полезно!!! Жду урок по API криптобирж.

    • @PythonToday
      @PythonToday  3 ปีที่แล้ว

      Спасибол за фидбэк!

  • @ВіталійБудз
    @ВіталійБудз 2 ปีที่แล้ว +1

    4:00 у меня все записало, класс, но есть нюанс, почему то записывается не подряд а через строку. Как ето можна исправить?

  • @BaraBarinov
    @BaraBarinov 2 ปีที่แล้ว

    🔥🔥🔥

  • @hanckhanck8376
    @hanckhanck8376 3 ปีที่แล้ว

    лайкнул до прсмотра!

  • @АйданаБакыткызы-в9ы
    @АйданаБакыткызы-в9ы 2 หลายเดือนก่อน

    У кого записывается через строку добавьте *newline=""* при открытии файла
    with open("data.csv", "w", newline=''") as file:

  • @kaemey4330
    @kaemey4330 9 หลายเดือนก่อน +1

    Работаю на винде, так на cvs у меня по столбцам не разбивает и все данные просто в 1-й столбец кладёт, приходится через pd работать...

  • @ИванАбрамов-л5ы
    @ИванАбрамов-л5ы 3 ปีที่แล้ว +1

    Спасибо. Очень полезное видео и благодарю за книги, которые выкладываешь у себя на канале в телеграмме. Если будет возможность сними пожалуйста видео про api маркетплейсов типа озон или вайлдбериз, а ещё как с помощью python можно продуктивнее работать в Гугл таблицах

    • @PythonToday
      @PythonToday  3 ปีที่แล้ว

      Спасибо за фидбэк! У данных маркетплейсов разве есть открытое api? Не гуглил правда. Ozon парсил в лоб полгода назад

  • @АлексАлекс-б4щ
    @АлексАлекс-б4щ 2 ปีที่แล้ว

    Спасибо, отличное видео! Только есть проблема, может у кого-то было.. Слова вставляются в колонки и строки как надо, только в словах после каждого символа запятая..приходится через excel удалять

  • @SeriesWOT
    @SeriesWOT 2 ปีที่แล้ว +1

    Привет подскажи пожалуйста при записи в csv появляется межстрочный интервал например(
    1User1
    2
    3 User2
    4
    5User3
    ) как можно это убрать, Спасибо!

  • @Fryderyk_Franciszek_Chopin
    @Fryderyk_Franciszek_Chopin ปีที่แล้ว +1

    Excel надо создать пустой файл, где потом "Данные" "Из текста", где указываем сформированный скриптом файл csv. В появившемся окне импорта и указываем разделитель и кодировку. Даже если я явно в скрипте укажу все это, то мой 2010 все равно не понимает. Возможно баг именно моего пакета. Он у меня весь из себя пиратский.
    И да, не называйте файл питона csv.py.

  • @gorislav_ldov
    @gorislav_ldov ปีที่แล้ว +1

    Почему-то через строку у меня записывает в цикле... Конечно, удалить пустые строки потом не проблема, но лучше бы без этого обходиться.

  • @evgeniiplay8803
    @evgeniiplay8803 3 ปีที่แล้ว

    Спасибо!

    • @PythonToday
      @PythonToday  3 ปีที่แล้ว +1

      Спасибо за фидбэк!

  • @lariman2959
    @lariman2959 ปีที่แล้ว

    Спасибо тебе огромное. Очень помог, только в моём случае пришлось указывать encoding = 'UTF-8' а не ' encoding = 'сз1252'.
    Похожая проблема файлами картинок, вообще не находит файл.

  • @valarg5756
    @valarg5756 3 ปีที่แล้ว

    Спасибо

    • @PythonToday
      @PythonToday  3 ปีที่แล้ว

      Благодарю за фидбэк

  • @АндрейТарабукин-п6д
    @АндрейТарабукин-п6д 2 ปีที่แล้ว +1

    Почему между строками вставляется пустая строка?

  • @chlorine7785
    @chlorine7785 3 ปีที่แล้ว

    Привет, я придумал тебе идею для следующего ролика. Попробуй написать программу для загрузки видео на youtube через cookies. Такое пригодиться трафферам. Подобные боты в телеграмме берут неплохую сумму за загрузку 1 видео

    • @PythonToday
      @PythonToday  3 ปีที่แล้ว

      Привет, что-то совсем не понял. Как это, "загрузки видео на youtube через cookies"

  • @L0wPressure
    @L0wPressure 3 ปีที่แล้ว

    Интересны API как криптобирж, так и обычных брокеров. Возможно был опыт по бэктестингу торговых стратегий? 🤪 Взять MACD к примеру.

  • @b-41ax66
    @b-41ax66 2 ปีที่แล้ว

    В Excel всё работает правильно при delimener=";", но проблемы появляются при считывании данных: в результате вместо списков reader возвращает строки

  • @ПриманкаТВ-о6ш
    @ПриманкаТВ-о6ш 2 ปีที่แล้ว

    А можно просто както увеличить вместимость консоли ..? Я через принт все выводил и сохранял оттуда ручками, но вдруг оказалось, что максимум строк в консоли умещается 450 только.. можно както увеличить это значение до нескольких тыс например?

  • @xoron9496
    @xoron9496 2 ปีที่แล้ว

    Менять операционную систему и ставить новую линукс или покупать mac ради того чтобы не было ошибки в кодировке при написании python кода. Сверз разум, логика космоса. # -*- coding: utf-8 -*- если кто не знает ставьте этО в начале вашего python документа

  • @semsoe5638
    @semsoe5638 2 ปีที่แล้ว

    Нет ли билиотек которые помогут csv фаил пересчитать с инструментарием екселя?
    Подразумиваю: Посчитать вхождение обьекта в столбце, найти по индексу обьекты в другом столбце, произвести расчеты затрагивающие как разные строки (выше, ниже, по формулам, условиям и т.д), столбцы. Добавить эти "новые" данные в новые столбцы (апендить (роликов с примитивизмом read, wrate своим количеством порожают воображение. К вам не относиться. У вас чёткие, практические, полезные знания) новый csv это "обсосал" каждый недотренер).

    • @semsoe5638
      @semsoe5638 2 ปีที่แล้ว

      Открывал через пандас, закрывал через n минут с понимание что рассортировать, покрутить, и т.д. даныые это хорошо, но в моем случае легче сsv привратить/раздербанить всеравно в что (списки и т.д), а потом сними "вменяемо" "мычаться" дальше.
      Необходимо посчитать первоисточник, потом по получиным данным вывести еще и еще и еще данные. Потом с ними произвести "нормализацию" и лиж потом "это" имеет смысл кудато писать.
      Нет ли модулей переноса простоты екселя в питон чтобы обрабатывать 11к фаилов по вышесказанному?

  • @igarilla7404
    @igarilla7404 2 ปีที่แล้ว

    Контент огонь🔥🔥🔥спасибо за уроки ) Подскажи как получить доступ к твоим плейлиста по хакингу ?)

    • @PythonToday
      @PythonToday  2 ปีที่แล้ว

      Большое спасибо за фидбэк. Плейлиста нет, видео выходят для патронов.

  • @alexeypak7555
    @alexeypak7555 3 ปีที่แล้ว

    Коротко и все понятно. Очень помогло. Спасибо.
    Подскажите пожалуйста, а как вставлять изображения ячейки файла. У меня получаются только ссылки.

    • @PythonToday
      @PythonToday  3 ปีที่แล้ว

      Благодарю за фидбэк. Не понял, т.к картинку саму вставить в excel? Честно, не пробовал. Думаю для начала её нужно скачать, а далее загрузить в ячейку с помощью метода, думаю 100% есть решение.

  • @GeskO922
    @GeskO922 3 ปีที่แล้ว

    Как то столкнулся с разделителем, и по умолчанию у меня была какраз запитая, немного покопавшись, поставил точку с запетой ";" и все началось писать в отдельные ячейки.
    Не понимал почему у всех разливается результат.

  • @AlexV8_
    @AlexV8_ ปีที่แล้ว

    Спасибо! Вы мне очень помогли. Но есть одна проблема: Когда я записываю каки юта данные в файл, он пересоздаёт файл, и если я что-то записываю, перезапускаю программу, и хочу что-то ещё добавить. Данные которые я писал ранее удаляются.

    • @АнастасияСоколовская-к7л
      @АнастасияСоколовская-к7л ปีที่แล้ว

      Вроде надо заменить 'w' на 'a'
      w - перезаписывает файл с нуля
      а - просто добавляет новые данные
      Если не прав - поправьте

  • @dendisega1675
    @dendisega1675 3 ปีที่แล้ว

    Сделай, пожалуйста общее видео с работай с api ключами. Интересно работать как с VK так и с hh.ru

    • @PythonToday
      @PythonToday  3 ปีที่แล้ว

      По работе с VK api есть несколько видео на канале. У hh есть своё api? Не знал

  • @НикитаЛ-о3ч
    @НикитаЛ-о3ч ปีที่แล้ว +1

    у меня пробелы между строками в csv файле как это исправить?

    • @НикитаЛ-о3ч
      @НикитаЛ-о3ч ปีที่แล้ว

      оказалось нужно писать когда открeваеш файл newline=""

  • @ondest5059
    @ondest5059 2 ปีที่แล้ว

    А че с кодировками не так? Эксель все ок с кириллицей открывает на винде в utf-8, не понятные какие то проблемы у тебя

  • @bygoodby5553
    @bygoodby5553 ปีที่แล้ว

    Добрый день. А как можно сжать при сохранении. Csv? файл лишние 2 мегабайта. Сохраняю через to_csv. Архиватор не подходит надо именно расширение csv

    • @0x309HESOYAM
      @0x309HESOYAM ปีที่แล้ว

      нашли ответ?

  • @evgeniymatashkov5808
    @evgeniymatashkov5808 3 ปีที่แล้ว +1

    а где data.txt найти или самому надо

  • @shomugger
    @shomugger 2 ปีที่แล้ว

    уже неделю голову ломаю, как пройти по файлу и удалить повторяюшиеся номера телефонов

  • @sheftsofff
    @sheftsofff 2 ปีที่แล้ว

    если не записывает в столбцы, то надо указывать delimiter=';'

  • @MajinTorankusu
    @MajinTorankusu 3 ปีที่แล้ว

    записывает все данные в один столбец, подскажите как распределить

  • @suren6657
    @suren6657 3 ปีที่แล้ว

    Делаю все абсолютно также, но почему у меня вся инфа записывается в одну ячейку А1, через запятую?

    • @PythonToday
      @PythonToday  3 ปีที่แล้ว

      Подбирай верный разделитель для своей ОС

  • @harrydrago1256
    @harrydrago1256 2 ปีที่แล้ว

    Что значит НИК системы?

  • @МихаилКитов-и1е
    @МихаилКитов-и1е ปีที่แล้ว

    Что означает f? В print(f"?

    • @PythonToday
      @PythonToday  ปีที่แล้ว

      Форматирование строк, посмотрите видео на канале по строкам th-cam.com/video/BrHhnwKPCKI/w-d-xo.html , рассматриваются все варианты

  • @ЭрикБружас
    @ЭрикБружас ปีที่แล้ว

    У меня строки через одну записываются!

  • @rouzeee4326
    @rouzeee4326 3 ปีที่แล้ว

    Что это за операционка на видео?

  • @Hanes-vd6rs
    @Hanes-vd6rs 3 ปีที่แล้ว

    Можешь пожалуйста помочь разобраться с индексами, если можно то в телеграмме, буду сильно благодарен))

    • @PythonToday
      @PythonToday  3 ปีที่แล้ว

      С какими индексами?

  • @supercryning6079
    @supercryning6079 3 ปีที่แล้ว

    болше практики!))

  • @Vlad1998996
    @Vlad1998996 3 ปีที่แล้ว

    Api давай

  • @RockstarAlexander
    @RockstarAlexander ปีที่แล้ว

    👍👍👍👍

  • @daddy_eddy
    @daddy_eddy 2 ปีที่แล้ว

    Спасибо. Интересно посмотреть как в реале спарсить данные, сохранить их в csv и потом из файла экспортировать в БД.
    Ни у кого нет такого видео.
    P.S. В видео вы говорите: "у меня есть словарь с данными, собранными с криптобиржи". И думаешь, а что делать дальше, у меня-то нет этих данных.Какой тогда смысл дальше смотреть, ведь автор не оставил ссылку на этот файл.

  • @marinayesenevich5179
    @marinayesenevich5179 3 ปีที่แล้ว

    cупер, спасибо

    • @PythonToday
      @PythonToday  3 ปีที่แล้ว

      Благодарю за фидбэк

  • @sype1680
    @sype1680 3 ปีที่แล้ว

    Зачем обходить каждого пользователя for user in users_data? Если можно просто использовать метод writer.writerows(users_data). Результат будет тем же, но не придется обходить огромный список и на каждой итерации открывать файл для записи)