2017-07-07 10 views
0

Ich arbeite an einem Projekt, das erfordert, dass ich eine Datei mit der Erweiterung .dif lesen. Dif steht für den Austausch von Dateninformationen. Die Datei wird in Open Office Calc geöffnet. Dann können Sie einfach als CSV-Datei speichern, aber wenn ich in Python öffnen, bekomme ich nur zufällige Zeichen, die keinen Sinn ergeben. Hier ist der letzte Code, den ich versucht habe zu sehen, ob ich lesen könnte.Wie liest man eine .dif-Datei mit Python

txt = open('C:\myfile.dif', 'rb').read() 
print txt 

würde ich auch offen seine Umwandlung programmatisch die Datei zuerst in CSV. vor dem Öffnen, wenn jemand weiß, wie das geht. Wie immer wird jede Hilfe sehr geschätzt. Unten ist ein Teilbild von dem, was ich bekomme, wenn ich den Code ausführe.

enter image description here

Antwort

0

Wäre nicht dieses Dateiformat gehört. Ging und bekam eine Probe here.

testete ich Ihre Methode und es funktioniert gut:

>>> content = open(r"E:\sample.dif", 'rb').read() 
>>> print (content) 
b'TABLE\r\n0,1\r\n"EXCEL"\r\nVECTORS\r\n0,8\r\n""\r\nTUPLES\r\n0,3\r\n""\r\nDATA\r\n0,0\r\n""\r\n-1,0\r\nBOT\r\n1,0\r\n"Welcome to File Extension FYI Center!"\r\n1,0\r\n""\r\n1,0\r\n""\r\n-1,0\r\nBOT\r\n1,0\r\n""\r\n1,0\r\n""\r\n1,0\r\n""\r\n-1,0\r\nBOT\r\n1,0\r\n"ID"\r\n1,0\r\n"Type"\r\n1,0\r\n"Description"\r\n-1,0\r\nBOT\r\n0,1\r\nV\r\n1,0\r\n"ASP"\r\n1,0\r\n"Active Server Pages"\r\n-1,0\r\nBOT\r\n0,2\r\nV\r\n1,0\r\n"JSP"\r\n1,0\r\n"JavaServer Pages"\r\n-1,0\r\nBOT\r\n0,3\r\nV\r\n1,0\r\n"PNG"\r\n1,0\r\n"Portable Network Graphics"\r\n-1,0\r\nBOT\r\n0,4\r\nV\r\n1,0\r\n"GIF"\r\n1,0\r\n"Graphics Interchange Format"\r\n-1,0\r\nBOT\r\n0,5\r\nV\r\n1,0\r\n"WMV"\r\n1,0\r\n"Windows Media Video"\r\n-1,0\r\nEOD\r\n' 
>>> 

Die Frage ist, was in der Datei ist und wie wollen Sie es zu handhaben. Ich persönlich mochte:

with open(r"E:\sample.dif", 'rb') as f: 
    for line in f: 
     print (line) 

Im ersten Codeblock, dass die lange Linie, die ein b'' (für Bytes!) Hat vor ihm auf \r\n laufen werden können:

b'TABLE\r\n' 
b'0,1\r\n' 
b'"EXCEL"\r\n' 
b'VECTORS\r\n' 
b'0,8\r\n' 
b'""\r\n' 
b'TUPLES\r\n' 
b'0,3\r\n' 
b'""\r\n' 
b'DATA\r\n' 
b'0,0\r\n' 
. 
. 
. 
b'"Windows Media Video"\r\n' 
b'-1,0\r\n' 
b'EOD\r\n' 
+0

Ich habe einen Screenshot was bekomme ich nach dem Ausführen des Codes mit meiner Datei. Ich frage mich, ob es eine Art Codierungsproblem ist? –

+0

@MikeC. Welche Umgebung benutzt du? Meine war direkt mit der nativen IDLE; Versuchen Sie auch, die Probe herunterzuladen, die ich in der Antwort verlinkt habe; Testen Sie Ihre Methode dagegen. – pstatix

+0

Gute Idee. Ich werde es am Morgen versuchen. –

Verwandte Themen