2017-07-07 266 views
0

我正在研究一個需要我讀取擴展名爲.dif的文件的項目。 Dif代表數據信息交換。該文件在Open Office Calc中很好地打開。然後,您可以輕鬆地將其另存爲csv文件,但是當我用Python打開時,我所得到的是隨機字符,這些字符無意義。以下是我試圖查看是否可以閱讀的最後一個代碼。如何使用Python讀取.dif文件

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

我甚至會打開編程方式將文件轉換爲csv第一。開幕前如果有人知道如何做到這一點。與往常一樣,任何幫助非常感謝。以下是我在運行代碼時獲得的部分屏幕截圖。

enter image description here

回答

0

沒有聽說過這種文件格式。去了並得到了一個樣品here

我測試你的方法,它工作正常:

>>> 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' 
>>> 

的問題是,什麼是文件和你想如何處理它。親自我喜歡:

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

在第一碼塊,在前面具有b''該長行(對於字節!)它可以在\r\n進行迭代:

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

我添加的屏幕截圖我用我的文件運行代碼後得到了什麼。我想知道這是否是某種編碼問題? –

+0

@MikeC。你在使用什麼環境?我的原住民IDLE很直,另外,請嘗試下載我在答案中鏈接的示例;測試你的方法。 – pstatix

+0

好主意。我會在早上試一試。 –