當前位置:首頁 » 編程語言 » python讀取數據

python讀取數據

發布時間: 2022-01-10 08:09:56

python 讀取大文件數據怎麼快速讀取

python中讀取數據的時候有幾種方法,無非是read,readline,readlings和xreadlines幾種方法,在幾種方法中,read和xreadlines可以作為迭代器使用,從而在讀取大數據的時候比較有效果.

在測試中,先創建一個大文件,大概1GB左右,使用的程序如下:

[python] view plainprint?
import os.path
import time
while os.path.getsize('messages') <1000000000:
f = open('messages','a')
f.write('this is a file/n')
f.close()

print 'file create complted'

在這里使用循環判斷文件的大小,如果大小在1GB左右,那麼結束創建文件。--需要花費好幾分鍾的時間。

測試代碼如下:

[python] view plainprint?
#22s
start_time = time.time()
f = open('messages','r')
for i in f:
end_time = time.time()
print end_time - start_time
break
f.close()

#22s
start_time = time.time()
f = open('messages','r')
for i in f.xreadlines():
end_time = time.time()
print end_time - start_time
break
f.close()

start_time = time.time()
f = open('messages','r')
k= f.readlines()
f.close()
end_time = time.time()
print end_time - start_time

使用迭代器的時候,兩者的時間是差不多的,內存消耗也不是很多,使用的時間大概在22秒作用
在使用完全讀取文件的時候,使用的時間在40s,並且內存消耗相當嚴重,大概使用了1G的內存。。

其實,在使用跌倒器的時候,如果進行連續操作,進行print或者其他的操作,內存消耗還是不可避免的,但是內存在那個時候是可以釋放的,從而使用迭代器可以節省內存,主要是可以釋放。
而在使用直接讀取所有數據的時候,數據會保留在內存中,是無法釋放這個內存的,從而內存卡死也是有可能的。

在使用的時候,最好是直接使用for i in f的方式來使用,在讀取的時候,f本身就是一個迭代器,其實也就是f.read方法

⑵ python 從txt中讀取數據到 list 中

list1,list2,list3.... 有多少行事先知道?

a=open('myfile.txt')
lines=a.readlines()
lists=[]#直接用一個數組存起來就好了
forlineinlines:
lists.append(line.split())
print(lists)

⑶ python 從文件讀入數據數據以空格隔開

1、打開Visual Studio Code 1.40.2進入下圖界面。

⑷ python如何讀取文件的內容

# _*_ coding: utf-8 _*_

import pandas as pd

# 獲取文件的內容

def get_contends(path):

with open(path) as file_object:

contends = file_object.read()

return contends

# 將一行內容變成數組

def get_contends_arr(contends):

contends_arr_new = []

contends_arr = str(contends).split(']')

for i in range(len(contends_arr)):

if (contends_arr[i].__contains__('[')):

index = contends_arr[i].rfind('[')

temp_str = contends_arr[i][index + 1:]

if temp_str.__contains__('"'):

contends_arr_new.append(temp_str.replace('"', ''))

# print(index)

# print(contends_arr[i])

return contends_arr_new

if __name__ == '__main__':

path = 'event.txt'

contends = get_contends(path)

contends_arr = get_contends_arr(contends)

contents = []

for content in contends_arr:

contents.append(content.split(','))

df = pd.DataFrame(contents, columns=['shelf_code', 'robotid', 'event', 'time'])

(4)python讀取數據擴展閱讀:

python控制語句

1、if語句,當條件成立時運行語句塊。經常與else, elif(相當於else if) 配合使用。

2、for語句,遍歷列表、字元串、字典、集合等迭代器,依次處理迭代器中的每個元素。

3、while語句,當條件為真時,循環運行語句塊。

4、try語句,與except,finally配合使用處理在程序運行中出現的異常情況。

5、class語句,用於定義類型。

6、def語句,用於定義函數和類型的方法。

⑸ 如何使用python在文件中讀取數據

withopen('f:/C.txt')asfid:
forlineinfid:
line=line.split()
print(line[1])
>>>
3000
2000
1000

⑹ python怎麼讀取txt文件全部數據

f=open("a.txt")
printf.read()

⑺ python程序讀取和輸出數據

class StepTime:
def __init__(self,name):
self.name=name
self.values=[]
def close(self):
if sum(self.values)==0.0:
print "all zero:",self.name
def put(self,value):
self.values.append(float(value))
if len(values)==1:
print "not zero:",self.name

import re,os
lasttime=None
for line in open("filename","rt"):
if line.startswith("step"):
if lasttime:lasttime.close()
name=line[len('step time='):].strip()
lasttime=StepTime(name)
else:
lasttime.put(line[line.find("=")+1:].strip())
lasttime.close()

完成了,就這東西。似乎StepTime這個類就是一個簡單的狀態機吧。

⑻ python如何讀取網頁中的數據

用Beautiful Soup這類解析模塊:

  1. Beautiful Soup 是用Python寫的一個HTML/XML的解析器,它可以很好的處理不規范標記並生成剖析樹(parse tree);

  2. 它提供簡單又常用的導航(navigating),搜索以及修改剖析樹的操作;

  3. 用urllib或者urllib2(推薦)將頁面的html代碼下載後,用beautifulsoup解析該html;

  4. 然後用beautifulsoup的查找模塊或者正則匹配將你想獲得的內容找出來,就可以進行相關處理了,例如:


    html='<html><head><title>test</title></head><body><p>testbody</p></body></html>'
    soup=BeautifulSoup(html)
    soup.contents[0].name
    #u'html'
    soup.comtents[0].contents[0].name
    #u'head'
    head=soup.comtents[0].contents[0]
    head.parent.name
    #u'html'
    head.next
    #u'<title>test</title>
熱點內容
上傳汽車保單 發布:2024-09-20 20:30:46 瀏覽:435
櫻花伺服器測試ip 發布:2024-09-20 20:10:39 瀏覽:279
爐石傳說安卓怎麼玩 發布:2024-09-20 20:09:59 瀏覽:312
ios開會員為什麼比安卓貴 發布:2024-09-20 20:09:55 瀏覽:568
緩存伺服器redis 發布:2024-09-20 20:09:01 瀏覽:75
優酷上傳ts 發布:2024-09-20 19:55:58 瀏覽:273
minecraft怎麼開伺服器地址 發布:2024-09-20 19:52:14 瀏覽:651
android彈出布局 發布:2024-09-20 19:14:29 瀏覽:981
預演算法包括 發布:2024-09-20 18:52:07 瀏覽:765
什麼數字後面跟著密碼 發布:2024-09-20 18:52:07 瀏覽:879