Как csv разделить по столбцам, за минуту

Добрый день! Уважаемые читатели и гости одного из крупнейших IT блогов для системных администраторов Pyatilistnik.org. В прошлый раз мы с вами подробно разобрали 10 методов как открыть командную строку. В сегодняшней публикации я хочу вас научить разбивать строки в CSV файле на столбцы, которые потом можно использовать в файлах Excel. Уверен, что многие системные администраторы часто работаю с экспортными данными в формате CSV.
Постановка задачи
Бьюсь об заклад, что у 99% средних и крупных организаций в России инфраструктура построена на использовании Active Directory. Активный каталог замечательная вещь и легко интегрируется в различные сторонние сервисы. Самая частая задача администратора, это получение отчетов или выгрузок по определенным критериям, например:
- Получить список пользователей Active Directory с рядом атрибутов
- Получить список серверов у которых операционная система Windows Server 2008 R2, чтобы в дальнейшем их вывести из эксплуатации
- Получить список всех компьютеров или пользователей, кто не авторизовывался какое-то время. И так до бесконечности
Получить данные вы можете в разном виде, например в виде выдачи на самом экране, или же в сохраненный файл в формате txt или csv. CSV более распространенный, так как позволяет не только выгружать данные, но и еще их импортировать. Вроде бы все удобно, но есть одно но, когда вы захотите красиво перенести такие данные из csv, txt или экрана, у вас не будет форматирования или столбцов, все будет смешано в кучу, а это не удобно. Ниже я вас научу это обходить.
Структура файла CSV
Файл с разделителями-запятыми (CSV) представляет собой простой текстовый файл, который содержит список данных. Эти файлы часто используются для обмена данными между различными приложениями. Например, базы данных и менеджеры контактов часто поддерживают файлы CSV.
Эти файлы иногда могут называться символьно-разделенными значениями или файлами с разделителями-запятыми. В основном они используют запятую для разделения данных, но иногда используют другие символы, такие как точки с запятой. Идея состоит в том, что вы можете экспортировать сложные данные из одного приложения в файл CSV, а затем импортировать данные из этого файла CSV в другое приложение.
Вот пример такого строки с разделителями:
«Name»,»OperatingSystem»,»LastLogonDate»,»Modified»,»Enabled» ,»Ping»,»DistinguishedName»
«DC01″,»Windows Server 2008 R2 Standard»,»02.11.2018 6:14:02″, «21.12.2018 15:56:16″,»Torge»,»False»,»CN=DC01, OU=ComputerStore,OU=root,DC=pyatilistnik,DC=org»

теперь представьте, что таких строк сотни или тысячи, а вы хотите все скопировать в ваш Exсel и по столбцам, вот тут вы и поймете, что одностроковый формат требует преобразования. Благо, это делается очень быстро и просто. Вот пример моего тестового csv файла.
Как csv разделить по столбцам в Excel
Первым инструментом, который позволит из csv получить красивые столбцы и разбиение по ним, будет Excel. Откройте в Excel ваш файл csv.
- Выделите первый столбец и перейдите на вкладку «Данные«
- Найдите пункт «Текст по столбцам«

На первом окне мастера распределения текста по столбцам нажмите «Далее».

Далее вам необходимо указать по каким критериям производить разбивку по столбцам, на выбор у вас будет:
- Знак табуляции
- Точка с запятой
- Запятая
- Пробел
- Другой вариант
В моем примере CSV разделяет отдельные данные с помощью запятой. Тут же вы сразу видите, как это будет выглядеть в области «Образец разбора данных«.

Далее при необходимости вы можете указать формат (Общий, текстовый, дата) и диапазон к которому будет применяться ваше преобразование. Нажимаем «Готово«.

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

Далее вам остается сохранить файл в формате xlsx и радуемся жизни.
Как csv разделить по столбцам через Google Таблицы
Не так давно я вам рассказывал про установку через групповую политику расширения для Google Chrome под названием «Редактирование файлов Office«. Это расширение позволяло работать с файлами Word, Excel и PowerPoint в Google Документах, Google Таблицах и Google Презентациях. Если вы через него откроете ваш файл CSV, то вы буквально в два клика сможете его разбить на столбцы. Для этого выберите меню «Файл — Сохранить в формате Google Таблиц«.

Начнется переделывание формата CSV в формат Google Таблиц

На выходе вы получаете разделенный по столбцам документ.

Далее вы уже можете оперировать этими данными или же можете их сохранить в нужный формат. Если у вас изначально документ Google Таблиц содержит данные разделенные запятой в виде одной строки, то вы их можете преобразовать в столбцы вот таким методом. Открываете меню «Данные — Разделить текст на столбцы«

Выбираете тип разделения, в моем случае запятая.

Затем выбираете ваш столбец с данным и еще раз нажмите «Данные — Разделить текст на столбцы«

В результате чего они будут разбиты на аккуратные столбцы

Как видите Google Таблицы умеют быстро разбить файл CSV по столбцам. Надеюсь, что это вам сэкономит время и вы сможете теперь более удобно оперировать данными. С вами был Иван Семин, автор и создатель IT портала Pyatilistnik.org.
Популярные Похожие записи:
- Как преобразовать GUID пользователя Active Directory в имя
Get-ADUser и примеры использования- Как сделать сводную таблицу, за минуту
Импорт таблицы на веб-странице в Google Sheets
Get-ADComputer: примеры вывода данных о компьютерах Active Directory
Как вывести список установленных программ в Windows 11
покупка
Как быстро преобразовать файл CSV в столбцы в Excel?
На самом деле, чтобы преобразовать файл CSV в столбцы Excel, вы можете использовать три разных метода. В этой статье я расскажу вам об этих двух методах.
Открыть CSV-файл в Excel
Чаще всего используется метод открытия CSV-файла напрямую через Excel.

1. Нажмите Файл > Откройте > ЛИСТАТЬ СПИСКИ чтобы выбрать файл CSV из папки, не забудьте выбрать Все файлы в раскрывающемся списке рядом с Имя файла коробка. Смотрите скриншот:
2. Нажмите Откройте, и файл CSV был открыт в Excel.

Наконечник. Если у вас есть Kutools for Excel, вы можете применить его Вставить файл в курсор Утилита для быстрой вставки файла CSV или текстового файла, файла Excel или файла PRN в ячейку, на которую помещается курсор.
Примечание:
Но иногда есть некоторые данные в специальных форматах, такие как начальные нули в файле CSV, эти специальные форматы могут быть потеряны, если файл CSV открывается через Excel, как показано ниже. В этом случае вам нужно использовать метод ниже.
![]() |
![]() |
![]() |
Вставить файл CSV в Excel
Чтобы сохранить формат CSV-файла содержимого, вы можете использовать Из текста утилита для импорта файла CSV.

1. Выберите ячейку, в которую вы вставите файл CSV, и нажмите Данные > Из текста. Смотрите скриншот:

2. в Импортировать текстовый файл выберите файл, который нужно импортировать. Смотрите скриншот:
3. Нажмите Импортировать, и диалог Мастер импорта текста открывается, проверьте разграниченный вариант и нажмите Следующая идти на шаг 2 мастера, а затем проверьте Запятая. Смотрите скриншот:
![]() |
![]() |
4. Нажмите Следующая и выберите столбец со специальными форматами в Предварительный просмотр данных и проверьте его формат в Формат данных столбца раздел, затем один за другим, чтобы отформатировать столбцы, также вы можете пропустить столбцы, которые вам не нужны, установив флажок Не импортировать столбец (пропустить) вариант. Смотрите скриншот:
![]() |
![]() |

5. Нажмите Завершить и выберите место для вывода результата. Смотрите скриншот:
6. Нажмите OK. Теперь файл CSV вставлен.
![]() |
![]() |
![]() |
Как разбить по столбцам csv файл на языке Python?
150000,2016-01-01,Chris Riley,trailhead9.ub20k5i9t8ou@example.com
150000,2016-01-01,Harold Campbell,trailhead14.jibpbwvuy67t@example.com
150000,2016-01-01,Jessica Nichols,trailhead19.d1fxj2goytkp@example.com
150000,2016-01-01,Catherine Brown,trailhead16.kojyepokybge@example.com
150000,2016-01-01,Kelly Frazier,trailhead7.zdcsy4ax10mr@example.com
150000,2016-01-01,Dennis Howard,trailhead4.wfokpckfroxp@example.com
Выбираем, например, 3 и 4 столбец .После работы программы должно получиться два файла. В одном списком все данные из 3 столбца, в другом списком все данные из 4 столбца.
Файл 1
Chris Riley
Harold Campbell
Jessica Nichols
Catherine Brown
Kelly Frazier
Dennis Howard
Файл 2
trailhead9.ub20k5i9t8ou@example.com
trailhead14.jibpbwvuy67t@example.com
trailhead19.d1fxj2goytkp@example.com
trailhead16.kojyepokybge@example.com
trailhead7.zdcsy4ax10mr@example.com
trailhead4.wfokpckfroxp@example.com
- Вопрос задан более двух лет назад
- 2845 просмотров
Разбить CSV строку датафрейма по запятой и расположить в столбец
В общем задача такая, имеется датафрейм, содержащий данные вида:
Id Sequence 3 1,3,13. 7 1,2,1. 8 1,2,4. 11 1,8,25. 13 1,111.
Где id — номер последовательности, sequence — сама последовательность. Задача, взять например первую последовательность и расположить его в столбец и так со всеми. Количество элементов в последовательности везде разное. Я делаю так:
#Импортируем необходимые пакеты import sys import warnings import pandas as pd import numpy as np from sklearn.metrics import mean_absolute_error, mean_squared_error import statsmodels.formula.api as smf import statsmodels.tsa.api as smt import statsmodels.api as sm import scipy.stats as scs from scipy.optimize import minimize import matplotlib.pyplot as plt #читаем данные и выводим dftrain = pd.read_csv('../../data/IntegerSeqTrain.csv', sep=",", index_col=['Id']) dftrain.head(10)
Выдаст: (то, что sequence выше id меня уже смущает)
Sequence Id 3 1,3,13. 7 1,2,1. 8 1,2,4. 11 1,8,25. 13 1,111.
Далее, собственно само разбиение
#для удобства пишем последовательности в столбец, предварительно разбив по запятой print(dftrain.shape[1]) i=0 for dfitem in dftrain: j=0 for dfitem2 in dfitem: dftrain[j] = dftrain['Sequence'].str.split(',').str.get(j) j+=1 i+=1 #удаляем лишний столбец dftrain = dftrain.drop('Sequence', 1) #pd.set_option('max_colwidth', 10) #что получилось print(dftrain.head(10))
0 1 2 3 4 5 6 7 Id 3 1 3 13 87 1053 28576 2141733 508147108 7 1 2 1 5 5 1 11 16 8 1 2 4 5 8 10 16 20 11 1 8 25 83 274 2275 132224 1060067 13 1 111 12211 1343211 147753211 162528. 178781. 196659. 15 1 1 1 1 1 1 1 1 16 840 1320 1680 2520 3192 3432 4920 5208
- Все записалось в строку, а не в столбец
- Количество столбцов сильно сократилось (штук 8-9, хотя их на самом деле гораздо больше)
Как данные красиво разбить и представить в виде столбцов?) Спасибо заранее Сами данные(train.csv): https://dropmefiles.com/osxrI
Отслеживать
149k 12 12 золотых знаков 59 59 серебряных знаков 132 132 бронзовых знака
задан 16 дек 2018 в 23:15
359 1 1 серебряный знак 12 12 бронзовых знаков
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
train = pd.read_csv(r'C:\download\train.csv', sep=",", index_col=['Id']) r = train.Sequence.str.split(',', expand=True).T
In [203]: r Out[203]: Id 3 7 8 11 13 15 16 . 227681 227682 227683 227684 227686 227689 227690 0 1 1 1 1 1 1 840 . 7 1 0 0 0 2 5 1 3 2 2 8 111 1 1320 . 7 0 0 -1 1 3 7 2 13 1 4 25 12211 1 1680 . 3 1 4 -1 9 3 179 3 87 5 5 83 1343211 1 2520 . 2 0 1198 -1 85 4 229 4 1053 5 8 274 147753211 1 3192 . 3 0 1829388 -1 801 6 439 5 28576 1 10 2275 16252853211 1 3432 . 9 0 23796035743 10324303 7549 4 557 6 2141733 11 16 132224 1787813853211 1 4920 . 5 0 2142967506078650 -6586524273069171148 71145 5 6113 .. . . . . . . . . . . . . . . . 341 None None None None None None None . None None None None None None None 342 None None None None None None None . None None None None None None None 343 None None None None None None None . None None None None None None None 344 None None None None None None None . None None None None None None None 345 None None None None None None None . None None None None None None None 346 None None None None None None None . None None None None None None None 347 None None None None None None None . None None None None None None None [348 rows x 113845 columns] In [204]: r.columns Out[204]: Int64Index([ 3, 7, 8, 11, 13, 15, 16, 18, 20, 21, . 227677, 227679, 227680, 227681, 227682, 227683, 227684, 227686, 227689, 227690], dtype='int64', name='Id', length=113845) In [205]: r.shape Out[205]: (348, 113845)







