欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python3大文件解壓和基本操作

 更新時間:2017年12月15日 11:18:39   作者:zhang_shuaixiang  
這篇文章主要為大家詳細介紹了python3大文件解壓和基本操作,具有一定的參考價值,感興趣的小伙伴們可以參考一下

先說下:所謂的大文件并不是壓縮文件有多大,幾十兆的文件而是解壓后幾百兆。其中就遇到解壓不成功的情況.、讀小文件時成功,大文件時失敗等

def unzip_to_txt_plus(zipfilename):
  zfile = zipfile.ZipFile(zipfilename, 'r')
  for filename in zfile.namelist():
    data = zfile.read(filename)
    # data = data.decode('gbk').encode('utf-8')
    data = data.decode('gbk', 'ignore').encode('utf-8')
    file = open(filename, 'w+b')
    file.write(data)
    file.close()


if __name__ == '__main__':
  zipfilename = "E:\\share\\python_excel\\zip_to_database\\20171025.zip"
  unzip_to_txt_plus(zipfilename)


注意參數(shù):‘ignore' ,因為默認是嚴格編碼,如果不加這個參數(shù)就會報錯。
因為該函數(shù)已經(jīng)把文件編成utf-8 所以后面讀取文件時成功,下面貼出讀取大文件代碼(忽略數(shù)據(jù)庫相關(guān))

# - coding: utf-8 -
import csv
import linecache
import xlrd
import MySQLdb


def txt_todatabase(filename, linenum):
   # with open(filename, "r", encoding="gbk") as csvfile:
   #   Read = csv.reader(csvfile)
   #   count =0
   #   for i in Read:
   #   #   print(i)
   #      count += 1
   #      # print('hello')
   #   print(count)
   count = linecache.getline(filename, linenum)
   print(count)
   # with open("new20171028.csv", "w", newline="") as datacsv:
   #   # dialect為打開csv文件的方式,默認是excel,delimiter="\t"參數(shù)指寫入的時候的分隔符
   #   csvwriter = csv.writer(datacsv, dialect=("excel"))
   #   # csv文件插入一行數(shù)據(jù),把下面列表中的每一項放入一個單元格(可以用循環(huán)插入多行)
   #   csvwriter.writerow(["A", "B", "C", "D"])


def bigtxt_read(filename):
  with open(filename, 'r', encoding='utf-8') as data:
    count =0
    while 1:
      count += 1
      line = data.readline()
      if 1000000 == count:
        print(line)
      if not line:
        break
    print(count)


if __name__ == '__main__':
  filename = '20171025.txt'
  txt_todatabase(filename, 1000000)
  bigtxt_read(filename)

經(jīng)過對比,發(fā)現(xiàn)兩個速度基本一樣快。兩百萬行的數(shù)據(jù)是沒壓力的。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python工廠函數(shù)用法實例分析

    Python工廠函數(shù)用法實例分析

    這篇文章主要介紹了Python工廠函數(shù)用法,結(jié)合實例形式分析了Python工廠函數(shù)的概念、功能、使用方法及相關(guān)注意事項,需要的朋友可以參考下
    2018-05-05
  • 帶你一文搞懂Python文件的讀寫操作

    帶你一文搞懂Python文件的讀寫操作

    讀寫文件是最常見的IO操作,Python內(nèi)置了讀寫文件的函數(shù),下面這篇文章主要給大家介紹了關(guān)于Python文件讀寫操作的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-05-05
  • pandas按若干個列的組合條件篩選數(shù)據(jù)的方法

    pandas按若干個列的組合條件篩選數(shù)據(jù)的方法

    下面小編就為大家分享一篇pandas按若干個列的組合條件篩選數(shù)據(jù)的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • Python使用PIL.image保存圖片

    Python使用PIL.image保存圖片

    PIL庫支持圖像存儲、顯示和處理,它能夠處理幾乎所有圖片格式,可以完成對圖像的縮放、剪裁、疊加以及向圖像添加線條、圖像和文字等操作,下面這篇文章主要給大家介紹了關(guān)于Python使用PIL.image保存圖片的相關(guān)資料,需要的朋友可以參考下
    2022-12-12
  • Python matplotlib超詳細教程實現(xiàn)圖形繪制

    Python matplotlib超詳細教程實現(xiàn)圖形繪制

    matplotlib 模塊不僅提供了繪制統(tǒng)計圖表的功能,還支持繪制圓形、正方形、矩形等各種圖形。這篇文章主要為大家詳細介紹了利用matplotlib.patches 繪制一些基本圖形,快來跟隨小編一起學(xué)習(xí)吧
    2021-12-12
  • python 在threading中如何處理主進程和子線程的關(guān)系

    python 在threading中如何處理主進程和子線程的關(guān)系

    這篇文章主要介紹了python 在threading中如何處理主進程和子線程的關(guān)系,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • 使用APScheduler3.0.1 實現(xiàn)定時任務(wù)的方法

    使用APScheduler3.0.1 實現(xiàn)定時任務(wù)的方法

    今天小編就為大家分享一篇使用APScheduler3.0.1 實現(xiàn)定時任務(wù)的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • Python3之外部文件調(diào)用Django程序操作model等文件實現(xiàn)方式

    Python3之外部文件調(diào)用Django程序操作model等文件實現(xiàn)方式

    這篇文章主要介紹了Python3之外部文件調(diào)用Django程序操作model等文件實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • ChatGPT 幫我自動編寫 Python 爬蟲腳本的詳細過程

    ChatGPT 幫我自動編寫 Python 爬蟲腳本的詳細過程

    ChatGPT是一種基于大語言模型的生成式AI,換句話說它可以自動生成類似人類語言的文本,把梳理好的有邏輯的答案呈現(xiàn)在你面前,這完全不同于傳統(tǒng)搜索工具,這篇文章主要介紹了ChatGPT 幫我自動編寫 Python 爬蟲腳本,需要的朋友可以參考下
    2023-02-02
  • python如何計算圓的周長和面積

    python如何計算圓的周長和面積

    這篇文章主要介紹了python如何計算圓的周長和面積問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-07-07

最新評論