Python konvertiert csv zu xlsx

In diesem Beitrag gibt es ein Python-Beispiel, um von csv zu xls zu konvertieren.

Allerdings hat meine Datei mehr als 65536 Zeilen so xls funktioniert nicht. Wenn ich die Datei xlsx nennen, macht es keinen Unterschied. Gibt es ein Python-Paket zum Umwandeln in xlsx?

5 Solutions collect form web for “Python konvertiert csv zu xlsx”

Hier ist ein Beispiel mit xlsxwriter :

import os import glob import csv from xlsxwriter.workbook import Workbook for csvfile in glob.glob(os.path.join('.', '*.csv')): workbook = Workbook(csvfile[:-4] + '.xlsx') worksheet = workbook.add_worksheet() with open(csvfile, 'rt', encoding='utf8') as f: reader = csv.reader(f) for r, row in enumerate(reader): for c, col in enumerate(row): worksheet.write(r, c, col) workbook.close() 

FYI gibt es auch ein Paket namens openpyxl , das Excel 2007 xlsx / xlsm Dateien lesen / schreiben kann.

Ich hoffe, das hilft.

Mit meiner Bibliothek pyexcel kannst du es in einer Befehlszeile machen:

 from pyexcel.cookbook import merge_all_to_a_book import pyexcel.ext.xlsx # needed to support xlsx format, pip install pyexcel-xlsx import glob merge_all_to_a_book(glob.glob("your_csv_directory/*.csv"), "output.xlsx") 

Jeder csv hat sein eigenes Blatt und der Name ist sein Dateiname.

Wie ich es mit openpyxl lib mache :

 import csv from openpyxl import Workbook def convert_csv_to_xlsx(self): wb = Workbook() sheet = wb.active CSV_SEPARATOR = "#" with open("my_file.csv" as f: reader = csv.reader(f) for r, row in enumerate(reader): for c, col in enumerate(row): for idx, val in enumerate(col.split(CSV_SEPARATOR)): cell = sheet.cell(row=r+1, column=idx+1) cell.value = val wb.save("my_file.xlsx") 
 from openpyxl import Workbook import csv wb = Workbook() ws = wb.active with open('test.csv', 'r') as f: for row in csv.reader(f): ws.append(row) wb.save('name.xlsx') 

Es gibt einen einfachen Weg

 import os import csv import sys from openpyxl import Workbook reload(sys) sys.setdefaultencoding('utf8') if __name__ == '__main__': workbook = Workbook() worksheet = workbook.active with open('input.csv', 'r') as f: reader = csv.reader(f) for r, row in enumerate(reader): for c, col in enumerate(row): for idx, val in enumerate(col.split(',')): cell = worksheet.cell(row=r+1, column=c+1) cell.value = val workbook.save('output.xlsx') 
  • Iteration über eine Reihe von Zeilen mit ws.iter_rows in der optimierten Leser von openpyxl
  • Openpyxl Grundsuche
  • Einstellungsstile in Openpyxl
  • Python ist die beste Programmiersprache der Welt.