Also schrieb ich ein Python-Skript, das eine Textdatei formatiert, damit ich in meine SQL importieren kann. Ich benutze Python 3.5 und mein Code funktioniert perfekt.Newline funktioniert nicht mit Python 2.7
Wenn ich jedoch versuche, meinen Code in Python 2.7 auszuführen, funktioniert es nicht und es wirft diesen Fehler. (Ich muss 2.7 benutzen) Das wusste ich erst nachher.
TypeError: 'newline' is an invalid keyword argument for this function.
Gibt es eine Möglichkeit, um diesen, wenn ich Newline nicht verwenden, es überspringt Zeilen in meinen Daten und zeigt sie als eine leere Zeile.
Hier ist mein Code:
import csv
import os
my_file_name = os.path.abspath('NVG.txt')
cleaned_file = "cleanNVG.csv"
BulkImport_file = 'BulkImport.txt'
remove_words = ['INAC-EIM','-INAC','TO-INAC','TO_INAC','SHIP_TO-inac','SHIP_TOINAC']
with open(my_file_name, 'r', newline='') as infile, open(cleaned_file, 'w',newline='') as outfile:
writer = csv.writer(outfile)
cr = csv.reader(infile, delimiter='|')
writer.writerow(next(cr)[:25])
for line in (r[0:25] for r in cr):
if not any(remove_word in element for element in line for remove_word in remove_words):
line[11]= line[11][:5]
writer.writerow(line)
infile.close()
outfile.close()
with open(cleaned_file, 'r') as fin, open(BulkImport_file, 'w') as fout:
reader = csv.DictReader(fin)
writer = csv.DictWriter(fout, reader.fieldnames, delimiter='|')
writer.writeheader()
writer.writerows(reader)
Wie kann ich meinen Code ändern, so dass es mit Python 2.7 kompatibel ist. Vielen Dank!
Es gibt kein 'newline' Argument in Python 2.7' open' Funktion – Arman
Gibt es ein ähnliches Argument wie newline für Python 2.7? – Cesar
[Python 3.5 Öffnen Sie die Funktion doc] (https://docs.python.org/3/library/functions.html#open) – Arman