2017-10-12 91 views
0

我目前正在使用數據清理。我需要用幾個頭部行清理一個大的csv文件,最後一行需要切掉。有沒有什麼辦法可以在不加載整個文件的情況下切割行?編輯.csv而不讀取整個文件(python)

+2

'是否有任何方法< - 是的。但是,如果不知道您的解決方案有什麼缺陷,我們無法幫助您提出更好的解決方案 – inspectorG4dget

+0

您可以通過bash來實現。也許看到[最後一行](https://stackoverflow.com/questions/4881930/remove-the-last-line-from-a-file-in-bash)/ [第一行](https://stackoverflow.com/questions/339483/how-can-i-remove-the-first-line-of-a-text-file-using-bash-sed-script) –

回答

0

Python是面向行的,一直到解釋。
我認爲最好的方法是使用sys.call並使用更適合文件級別操作的外部程序。這不是作弊,python是一種偉大的腳本語言。你應該使用unix工具。

Remove lines from file with head, tail, or sed

0

從另一個類似的線程抓着這一點,應該解決您的問題:

for line in reversed(open("filename").readlines()): 
    print line.rstrip() 

而且在Python 3:

for line in reversed(list(open("filename"))): 
    print(line.rstrip()) 
+0

注意:這會加載整個文件。我不確定有什麼辦法不這樣做,所以也許別人可以提供更好的解決方案。 –

相關問題