如何读取比机器内存大的文件(内存4G,文件 8G,读取大文件) ?
生活随笔
收集整理的這篇文章主要介紹了
如何读取比机器内存大的文件(内存4G,文件 8G,读取大文件) ?
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
我們假設數據可以一行一行地處理,并且數據之間的沒有相關性,那么我們有兩種方法讀取該文件。
1. 使用生成器 yield 逐行讀取到內存
def read_file(filename):with open(filename, 'r', encoding='utf-8') as f:for line in f:yield lineline_content = read_file(filename="/data.txt")
for line in line_content:print line
逐行讀入,頻繁的 IO 操作會導致處理效率很低。
2. 使用 pandas 的 read_csv 函數
pandas 模塊 read_csv 函數 chunksize 參數可以設置每次讀取的行數。
import pandas as pddef read_file(filename, sep=',', chunksize=5):reader = pd.read_csv(filename, sep=sep, chunksize=chunksize)while True:try:yield reader.get_chunk()except StopIteration:breakif __name__ == '__main__':g = read_file('/data.txt',sep="::")for c in g:print(c)
總結
以上是生活随笔為你收集整理的如何读取比机器内存大的文件(内存4G,文件 8G,读取大文件) ?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 求崩字开头的成语接龙!
- 下一篇: Python 精选笔试面试习题—类继承、