xlsxwriter - как создать из файла csv

Я собираюсь опросить контроллеры в наших центрах обработки данных и вывести их все в файл csv. Инструмент python, xlsxwriter, кажется лучшим для этого. Однако я не вижу упоминания о том, как просто взять файл csv и преобразовать его в xlsx.

Xlsxwriter, кажется, отлично подходит для создания файла xlsx на основе скрипта Python, в котором он находится, но я не знаю, как собрать эти данные из файла csv.


person clickwir    schedule 16.02.2016    source источник
comment
Как насчет импорта CSV-файла в Excel с помощью функции импорта Excel? Я не думаю, что вам нужно делать это на основе Python, поскольку я не вижу в этом никаких преимуществ. Единственный вариант использования, о котором я могу думать, может быть чем-то вроде объединения нескольких файлов csv в один файл xlsx. Что вы уже пробовали?   -  person albert    schedule 16.02.2016
comment
Сэкономьте время и попросите пользователя открыть с помощью Excel. То, что вы пытаетесь сделать, не очень весело... Некоторые ссылки, если вы хотите с этим справиться stackoverflow.com/questions/17684610/python-convert-csv-to-xlsx   -  person FirebladeDan    schedule 16.02.2016
comment
Я пытаюсь собрать статистику с нескольких сотен устройств, и каждое устройство должно быть отдельной строкой в ​​электронной таблице. Затем, когда мы на собраниях, и кто-то говорит: «Эй, сколько из них у нас работает?» Сколько из них работают на уровне кода XYZ? Как долго они так работают? мы можем просто посмотреть на электронную таблицу, отсортировать ее и получить ответы.   -  person clickwir    schedule 17.02.2016


Ответы (1)


Если вы не возражаете против ответа с другой зависимостью пакета, я настоятельно рекомендую pandas для таких операций ввода/вывода. Его трудно превзойти как с точки зрения экономии кода, так и с точки зрения производительности. Кроме того, если вам нужно выполнить какие-либо манипуляции (фильтрация, сортировка и т. д.) над данными перед записью в xslx, они уже находятся в удобном датафрейме.

Вы можете сделать что-то вроде:

import pandas as pd
import xlsxwriter

path = 'some/path/'
#read the csv into a pandas dataframe
data = pd.read_csv(path + 'input.csv')    
#setup the writer
writer = pd.ExcelWriter(path + 'output.xlsx', engine='xlsxwriter')
#write the dataframe to an xlsx file
data.to_excel(writer, sheet_name='mysheet', index=False)
writer.save()
person America    schedule 16.02.2016