Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 9, 2022 19:14:21

smrn29
Зарегистрирован: 2022-11-09
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

преобразование csv файла

Подскажите, пожалуйста, не смог нигде найти.
Есть csv файл 500 столбцов на 45000 строк(показания с датчиков)
Во вложении скрины с начальным видом и с конечным. Делал через макрос, но на это уходит очень много времени. Подскажите код для Python 3.
Суть в том, чтобы объединить столбцы в один через “,”, чтобы в дальнейшем загрузить файл в CyberStudio.
Заранее, спасибо!

Прикреплённый файлы:
attachment Изначальный вид.jpg (174,9 KБ)

Офлайн

#2 Ноя. 9, 2022 19:15:45

smrn29
Зарегистрирован: 2022-11-09
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

преобразование csv файла

Нужный вид

Прикреплённый файлы:
attachment Нужный вид.jpg (168,0 KБ)

Офлайн

#3 Ноя. 9, 2022 19:35:59

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2627
Репутация: +  61  -
Профиль   Отправить e-mail  

преобразование csv файла

Это просто делается в екселе
https://www.extendoffice.com/documents/excel/4754-convert-csv-to-columns.html
так же есть онлайн транслейторы
https://convert.town/column-to-comma-separated-list

Почему нужно рещение именно на питоне?

 import csv
with open('data.txt', 'r') as f:
    data = f.read()
# Remove trailing whitespace and split by whitespace
lines = [line.strip() for line in data.splitlines()]
lines = [line.split() for line in lines]
# Use built-in csv module to handle escape chars etc
with open('data.csv', 'w', newline='') as f:
    writer = csv.writer(f)
    for line in lines:
        writer.writerow(line)

Но такие обьемы обрабатывать лучше на пане или нампи



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

#4 Ноя. 9, 2022 21:42:37

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9897
Репутация: +  855  -
Профиль   Отправить e-mail  

преобразование csv файла

ZerG
  
import csv
with open('data.txt', 'r') as f:
    data = f.read()
# Remove trailing whitespace and split by whitespace
lines = [line.strip() for line in data.splitlines()]
lines = [line.split() for line in lines]
# Use built-in csv module to handle escape chars etc
with open('data.csv', 'w', newline='') as f:
    writer = csv.writer(f)
    for line in lines:
        writer.writerow(line)
Это не то. Ему нужно все столбцы в csv-файле превратить в один столбец, в котором значения идут через запятую. При этом сохранить формат csv в файле.

1. Открыть входной файл через модуль csv.
2. Открыть выходной файл через модуль csv.
3. В цикле для каждой строки входного файла выполнить действия.
3.1. Объединить строку через запятую.
3.2. Записать объединённую строку в выходной файл.
4. Закрыть выходной файл.
5. Закрыть входной файл.



Отредактировано py.user.next (Ноя. 9, 2022 21:45:56)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version