Рубрики
Без рубрики

Как преобразовать список списков в файл CSV в Python

https://youtu.be/-ewnmpo_lque Проблема: Как преобразовать список списков в файл CSV? Пример: Preen – это список списков — Например, зарплатные данные сотрудников в данной компании: заработная плата = [[«Алиса», «Данные ученый», 122000], [«Боб», «Инженер», 77000], [‘Ann’, «Manager», 119000]] Ваша цель – написать содержимое списка списков в … Как преобразовать список списков в файл CSV в Python Подробнее »

Автор оригинала: Chris.

Проблема : Как преобразовать список списков на CSV файл?

Пример : Дано это Список список – Для примера зарплата данных сотрудников в данной компании:

salary = [['Alice', 'Data Scientist', 122000],
          ['Bob', 'Engineer', 77000],
          ['Ann', 'Manager', 119000]]

Ваша цель – написать содержание списка списков в Comma-разделенные значения (CSV) Формат файла. Ваш налей должен выглядеть так:

# file.csv
Alice,Data Scientist,122000
Bob,Engineer,77000
Ann,Manager,119000

Решение: Есть четыре простых способа конвертировать Список списков к файлу CSV в Python Отказ

  1. CSV : Импортируйте CSV модуль В Python создайте объект Writer CSV и напишите список списков в файл в использовании писатель () Способ на объекте писателя.
  2. Пандас : Импортируйте Библиотека Pandas Создайте PandaFrame PandaSAframe и напишите файл dataframe в файл с помощью метода dataframe Dataframe.to_csv ('file.csv') Отказ
  3. Numpy : Импортируйте Numpy Library Создайте Numpy Array и напишите вывод в файл CSV, используя numpy.savetxt ('file.csv, массив,) метод.
  4. Python : Используйте чистый Python Реализация, которая не требует никакой библиотеки с помощью функциональности ввода-вывода файла Python.

Мое предпочтение это метод 2 ( Pandas ) Поскольку это проще всего использовать и самые надежные для разных типов ввода (численное или текстовое).

Прежде чем мы погрузимся в эти методы более подробно, не стесняйтесь играть с ними в нашем интерактивном коде. Просто нажмите кнопку «Запустить» и найдите сгенерированные файлы CSV в вкладке «Файлы».

Вы хотите развивать навыки Хорошо округлый Python Professional То же оплачивается в процессе? Станьте питоном фрилансером и закажите свою книгу Оставляя крысиную гонку с Python На Amazon ( Kindle/Print )!

Метод 1: модуль CSV Python

Вы можете легко преобразовать список списков в файл CSV в Python, используя CSV библиотека. Это наиболее настраивается из всех четырех методов.

salary = [['Alice', 'Data Scientist', 122000],
          ['Bob', 'Engineer', 77000],
          ['Ann', 'Manager', 119000]]

# Method 1
import csv
with open('file.csv', 'w', newline='') as f:
    writer = csv.writer(f)
    writer.writerows(salary)

Выход:

# file.csv
Alice,Data Scientist,122000
Bob,Engineer,77000
Ann,Manager,119000

В коде вы впервые откроете файл, используя стандарт Python Открыть () команда. Теперь вы можете написать контент на файл объект F Отказ

Далее вы передаете этот файл объект к конструктору писателя CSV, который реализует некоторый дополнительный метод помощника – и эффективно оборачивает объект файла, предоставляющий вам новые функции CSV, такие как писатель () метод.

Теперь вы передаете список списков к писатель () Способ CSV-писателя, который заботится о преобразовании списка списков в формат CSV.

Вы можете настроить писатель CSV в своем конструкторе (например, путем изменения разделителя от запятой ',' пробел '' характер). Посмотрите на спецификацию, чтобы узнать о Расширенные модификации Отказ

Способ 2: Pandas dataframe to_csv ()

Вы можете преобразовать список списков на Пандас DataFrame, который предоставляет вам мощные возможности, такие как to_csv () Метод Отказ Это самый простой способ, и он позволяет избежать импорта еще одной библиотеки (Я использую Pandas во многих проектах Python в любом случае).

salary = [['Alice', 'Data Scientist', 122000],
          ['Bob', 'Engineer', 77000],
          ['Ann', 'Manager', 119000]]

# Method 2
import pandas as pd
df = pd.DataFrame(salary)
df.to_csv('file2.csv', index=False, header=False)

Выход:

# file2.csv
Alice,Data Scientist,122000
Bob,Engineer,77000
Ann,Manager,119000

Вы создаете PandaFrame PandaFrame – это представление по умолчанию Python в табличных данных. Подумайте об этом как электронную таблицу Excel в вашем коде (со строками и столбцами).

DataFrame – это очень мощная структура данных, которая позволяет выполнять различные методы. Один из них to_csv () Способ, который позволяет записать его содержимое в файл CSV.

Вы установили индекс и Заголовок Аргументы to_csv () Метод Ложь Поскольку Pandas, по умолчанию, добавляет целочисленные строки и индексы столбцов 0, 1, 2, …. Опять же, подумайте о них как о показателях ряда и столбцов в вашей электронной таблице Excel. Вы не хотите, чтобы они появлялись в файле CSV, чтобы вы установили аргументы в Ложь Отказ

Если вы хотите настроить выход CSV, у вас есть много специальных аргументов для игры. Проверьте это Статья для всеобъемлющего списка всех аргументов.

Связанная статья : Pandas читы листы, чтобы привязать к своей стене

Метод 3: numpy savetxt ()

Numpy находится в ядре науки Python науки и функциональности машинного обучения. Даже Pandas использует Numpy Armays для реализации критических функций.

Вы можете преобразовать список списков в файл CSV, используя Numpy’s Savetext () Функция и пропуская множество массива в качестве аргумента, который возникает из преобразования списка списков.

Этот метод лучше всего наилучшего, если у вас есть численные данные только – иначе он приведет к сложным преобразованиям типа данных, которые не рекомендуются.

a = [[1, 2, 3],
     [4, 5, 6],
     [7, 8, 9]]

# Method 3
import numpy as np
a = np.array(a)
np.savetxt('file3.csv', a, delimiter=',')

Выход:

# file3.csv
1.000000000000000000e+00,2.000000000000000000e+00,3.000000000000000000e+00
4.000000000000000000e+00,5.000000000000000000e+00,6.000000000000000000e+00
7.000000000000000000e+00,8.000000000000000000e+00,9.000000000000000000e+00

Выход не выглядит красиво: он хранит значения как поплавки. Но без забот, вы можете переформатировать вывод, используя аргумент формата FMT из Savetxt () Метод ( больше здесь ). Тем не менее, я бы порекомендовал вам придерживаться метода 2 (Pandas), чтобы избежать ненужной сложности в вашем коде.

Связанный:

  • [Получить вашу книгу] Coffee Break Numpy И стать наукой данных.

Способ 4: Pure Python без внешних зависимостей

Если вы не хотите импортировать какую-либо библиотеку и до сих пор преобразовать список списков в файл CSV, вы также можете использовать стандартную реализацию Python: это не сложно и эффективно. Однако, если возможно, вы должны полагаться на библиотеки, которые выполняют работу для вас.

Этот метод лучше всего, если вы не будете использовать внешние зависимости.

salary = [['Alice', 'Data Scientist', 122000],
          ['Bob', 'Engineer', 77000],
          ['Ann', 'Manager', 119000]]

# Method 4
with open('file4.csv','w') as f:
    for row in salary:
        for x in row:
            f.write(str(x) + ',')
        f.write('\n')

Выход:

# file4.csv
Alice,Data Scientist,122000,
Bob,Engineer,77000,
Ann,Manager,119000,

В коде вы впервые открываете файл объекта F Отказ Затем вы хотите за каждую строку и каждый элемент в строке и записывать элемент в файл-один за другим. После каждого элемента вы размещаете запятую для создания формата файла CSV. После каждой строки вы размещаете новый символ '\ N' Отказ

Примечание : Чтобы избавиться от задней запятой, вы можете проверить, если элемент х Является ли последний элемент в ряд в корпусе цикла и пропустить запятую, если оно есть.

Связанный : Присоединяйтесь к сообществу Finxter и загрузите 8+ чисных листов Python, чтобы обновить свое понимание кода.

Куда пойти отсюда?

Достаточно теории, давайте познакомимся!

Чтобы стать успешным в кодировке, вам нужно выйти туда и решать реальные проблемы для реальных людей. Вот как вы можете легко стать шестифункциональным тренером. И вот как вы польские навыки, которые вам действительно нужны на практике. В конце концов, что такое использование теории обучения, что никто никогда не нуждается?

Практические проекты – это то, как вы обостряете вашу пилу в кодировке!

Вы хотите стать мастером кода, сосредоточившись на практических кодовых проектах, которые фактически зарабатывают вам деньги и решают проблемы для людей?

Затем станьте питоном независимым разработчиком! Это лучший способ приближения к задаче улучшения ваших навыков Python – даже если вы являетесь полным новичком.

Присоединяйтесь к моему бесплатным вебинаре «Как создать свой навык высокого дохода Python» и посмотреть, как я вырос на моем кодированном бизнесе в Интернете и как вы можете, слишком от комфорта вашего собственного дома.

Присоединяйтесь к свободному вебинару сейчас!

Работая в качестве исследователя в распределенных системах, доктор Кристиан Майер нашел свою любовь к учению студентов компьютерных наук.

Чтобы помочь студентам достичь более высоких уровней успеха Python, он основал сайт программирования образования Finxter.com Отказ Он автор популярной книги программирования Python One-listers (Nostarch 2020), Coauthor of Кофе-брейк Python Серия самооставленных книг, энтузиаста компьютерных наук, Фрилансера и владелец одного из лучших 10 крупнейших Питон блоги по всему миру.

Его страсти пишут, чтение и кодирование. Но его величайшая страсть состоит в том, чтобы служить стремлению кодер через Finxter и помогать им повысить свои навыки. Вы можете присоединиться к его бесплатной академии электронной почты здесь.