2017-05-18 4 views
0

Excel 15 auf MacOS Sierra zeigt aus irgendeinem Grund keine Zeilenumbrüche an.Excel zeigt keine leeren Zeilen in CSV (MacOS) an

Ich habe einigen einfachen Python-Code, der ein CSV-

output = "test.csv" 

sensor_names = ["A", "B", "C"] 

data = [ [1,2,3], [4,5,6], None, [10,11,12] ] 

with open(output, "wb", newline='') as fp: 
    fp.write(",".join(sensor_names)) 
    fp.write("\n") 

    for line in data: 
     if line is None: 
      fp.write("\n") 
      continue 

     fp.write(",".join(str(x) for x in line)) 
     fp.write("\n") 

Dieser Code erzeugt einen Zeilenumbruch, und wenn ich es mit einem Texteditor öffnen, sehe ich eine leere Zeile erzeugt. Aber wenn ich es in Excel öffne, dann wird die leere Zeile nicht angezeigt.

Wenn ich zwei neue Zeilen einfügen \ n \ n, dann erscheint ein Leerzeichen in Excel, aber dann gibt es tatsächlich zwei neue Zeilen in der eigentlichen Datei, die ich nicht will.

Auch Putting \ r \ n hat funktioniert, aber auch das fügt ein unerwünschtes Zeichen hinzu, da ich Windows nicht verwende.

Irgendwelche Lösungen zu diesem?

Antwort

0

Es ist kein extra Zeichen, aber ein sehr benötigt, wenn Sie die Kompatibilität zwischen verschiedenen Betriebssystemen (Windows, Mac und Linux) haben wollen Grundsätzlich \ r \ n funktioniert für Windows und \ r oder \ n funktioniert perfekt für beide Linux und Mac führen die gleiche Funktionalität aus.

Für weitere Referenz zu sehen this

hoffe, das hilft!

+0

Ich kenne die Unterschiede, und in diesem Fall brauche ich keine Kompatibilität. Ich möchte nur eine neue Zeile in Excel auf meinem Mac sehen können, nur mit \ n, da dies die Zeilenende-Macs verwenden. – rasen58