2016-08-20 2 views
1

Level xlsx: mit einer Kombination aus csv .xlsx & openpyxl & xlsxwriter Module super-NoobKonvertieren TXT-Datei mit Tab seperation über python3

Ich habe eine TXT-Datei zu konvertieren versucht.

Meine erste Spalte ist eine Identität, die als Zeichenfolge gespeichert werden sollte Spalten 2-21 sind dann alle Zahlen.

Wie kann ich meine .txt-Datei laden. Identifizieren Sie die richtigen Spalten als Zahlen und speichern Sie dann die Datei als xlsx?

Bisher bin ich an:

import csv 
import openpyxl 

input_file = "C:/1.txt" 
output_file = "C:/1.xlsx" 

new_wb = openpyxl.Workbook() 
ws = new_wb.worksheets[0] 
read_file = csv.reader(input_file, delimitter="\t") 

Ich habe Menschen Pistole durch eine Excel aufzählen Online-Datei, aber ich bin mir nicht sicher, wie diese Funktion genau funktioniert ... aber wenn jemand helfen kann Ich werde es hier schätzen!

Antwort

1

Sie müssen über jede Zeile in der CSV-Datei iterieren und diese Zeile an das Excel-Arbeitsblatt anhängen.

Dies könnte hilfreich sein:

import csv 
import openpyxl 

input_file = 'path/to/inputfile.txt' 
output_file = 'path/to/outputfile.xls' 

wb = openpyxl.Workbook() 
ws = wb.worksheets[0] 

with open(input_file, 'rb') as data: 
    reader = csv.reader(data, delimiter='\t') 
    for row in reader: 
     ws.append(row) 

wb.save(output_file) 
+0

Hallo Danke für Antwort. Das einzige Problem hier ist, dass meine CSV-Datei als Ganzzahlen gelesen wird, wenn ich bestimmte Spalten brauche, um als Ganzzahlen gelesen zu werden. –

+0

Sie könnten in Erwägung ziehen, die csv in Pandas zu lesen, in denen Sie viel Kontrolle darüber haben, wie einzelne Spalten analysiert werden. http://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_csv.html – abalter

Verwandte Themen