導航:首頁 > 編程語言 > python讀取一行文件

python讀取一行文件

發布時間:2022-07-14 17:40:27

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

(1)python讀取一行文件擴展閱讀:

python控制語句

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

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

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

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

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

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

⑵ python讀取csv文件的某一行

1.全部讀到成列表然後選取行(容易超時,亂碼等問題)
2.利用迭代工具,代碼如下:
from itertools import islice
with open('data.tsv', 'r') as f:
for line in islice(f, 1, None):
# process data
f.close()
修改islice函數中第2個參數n即可,表示讀到f文件對象的第n行

⑶ 用python讀取文本文件,對讀出的每一行進行操作,這個怎麼寫

用python讀取文本文件,對讀出的每一行進行操作,寫法如下:

f=open("test.txt","r")

whileTrue:

line=f.readline()

ifline:

pass#dosomethinghere

line=line.strip()

p=line.rfind('.')

filename=line[0:p]

print"create%s"%line

else:

break

f.close()

⑷ Python如何讀取csv文件某一列的每一行數據,並判斷該數值是否滿足條件

讀取csv文件,用的是csv.reader()這個方法。返回結果是一個_csv.reader的對象,我們可以對這個對象進行遍歷,輸出每一行,某一行,或某一列。代碼如下:

⑸ python怎樣實現一行一行讀取文件數據,並且要實現讀取一行數據,就進行條件判斷

超簡單

get='''12
15
16
19
23'''
result=get.split(' ')
foriinresult:
ifint(i)>16:
print(i)

滿意還請採納

⑹ python對文本文件的讀有哪些方法,寫有哪些方法

1 文件讀取全文本操作
在一定場景下我們需要把文本全部內容讀取出來,進行處理。python提供三種函數讀取文件,分別是read readline readlines,
read():讀取文件的全部內容,加上參數可以指定讀取的字元。
readline():讀取文件的一行。
readlines():讀取文件的所有行到內存中。
不同場景下我們可以選擇不同函數對文件進行讀取。
1.1 方法一
file_name = input("請輸入你要打開的文件的完整路徑及名稱")
file= open(file_name, "r")
txt=file.read()
# 全文本的處理
file.close()
使用read函數將文件中的內容全部讀取,放在字元串變數txt中。這樣操作適合於文本較小,處理簡單的情況,當文件較大時,這種方式處理時不合適的。一次性讀取較大的文件到內存中,會耗費較多的時間和資源。這時候分批處理效果更好。
1.2 方法二
file_name = input("請輸入你要打開的文件的完整路徑及名稱")
file= open(file_name, "r")
txt= file.read(4)
# 文本的處理while txt != ""txt= file.read(4)
# 批量文本處理
file.close()
這種方法適合於分批處理文本信息,每次批量讀入,批量處理,不會對內存造成較大的壓力。
1.3 方法三
file_name = input("請輸入你要打開的文件的完整路徑及名稱")
file= open(file_name, "r")for line infile.readlines():
# 處理每一行數據
file.close()
這種處理方式適合處理以行為分割特點的文本,並且文本較小,因為這種處理方式需要一次性把文件所有內容讀取到內存中。
1.4 方法四
file_name = input("請輸入你要打開的文件的完整路徑及名稱")
file= open(file_name, "r") # 這里的file時文件句柄for line infile:
# 處理每一行數據
file.close()
這種方式和方法三中的區別是分行讀入,逐行處理,不會一次性把文件所有內容都讀入到內存中,對一些大文件的處理是很有效的。
2 文件寫入文本操作
文件寫入有兩種寫入函數和一種輔助支持。
write():向文件中寫入一個字元或者位元組流
writelines():將一個元素全為字元串的列表寫入到文件中 需要注意的是,writelines寫入列表元素的時候會把列表元素的內容拼接到一起寫入,不會有換行和空格 。
seek(): 輔助寫入函數offset偏移量參數代表含義如下
0 - 文件開頭
1 - 當前位置
2 - 文件結尾
2.1 方法一
file_name = input("output.txt", "w+")
text= "hello world!"file_name.write(text)
file.close()
2.2 方法二
file_name = input("output.txt", "w+")
list= ["中午","早上","晚上"]
file_name.writelines(list)for line infile:
# 讀取寫入的數據,這時候發現是沒有任何內容的
file.close()
我們增加一行代碼就可以讀取到寫入的文件內容,利用seek()函數調整寫操作指針的位置,可以實現寫操作之後的正常讀取。
file_name = input("output.txt", "w+")
list= ["中午","早上","晚上"]
file_name.readlines(list)
file_name.seek(0) # 調整寫的指針到文件的開始位置for line infile:
# 讀取寫入的數據,這時候會讀出一行寫入的數據。
file.close()

⑺ python如何隨機讀取一行

#!/usr/bin/envpython
#coding:utf-8

defgetfilelines(filename,eol=' ',buffsize=4096):
"""計算給定文件有多少行"""
withopen(filename,'rb')ashandle:
linenum=0
buffer=handle.read(buffsize)
whilebuffer:
linenum+=buffer.count(eol)
buffer=handle.read(buffsize)
returnlinenum


defreadtline(filename,lineno,eol=" ",buffsize=4096):
"""讀取文件的指定行"""
withopen(filename,'rb')ashandle:
readedlines=0
buffer=handle.read(buffsize)
whilebuffer:
thisblock=buffer.count(eol)
ifreadedlines<lineno<readedlines+thisblock:
#inthisblock:findthelinecontent,andreturnit
returnbuffer.split(eol)[lineno-readedlines-1]
eliflineno==readedlines+thisblock:
#needcontinuereadlinerestpart
part0=buffer.split(eol)[-1]
buffer=handle.read(buffsize)
part1=buffer.split(eol)[0]
returnpart0+part1
readedlines+=thisblock
buffer=handle.read(buffsize)
else:
raiseIndexError


defgetrandomline(filename):
"""讀取文件的任意一行"""
importrandom
returnreadtline(
filename,
random.randint(0,getfilelines(filename)),
)


if__name__=="__main__":
importsys
importos
iflen(sys.argv)==1:
printgetrandomline("/home/tim/documents/users.csv")
else:
forfinfilter(os.path.isfile,sys.argv[1:]):
printgetrandomline(f)

對於超大文件建議用逐行或分塊的方式處理;逐行處理可能慢一些,但編碼更簡單清晰一點;上面給出的是按分塊方式處理的。

⑻ Python按行讀取文件的簡單實現方法

Python按行讀取文件的簡單實現方法
下面小編就為大家帶來一篇Python按行讀取文件的簡單實現方法。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。
1:readline()
file = open("sample.txt")
while 1:
line = file.readline()
if not line:
break
pass # do something
file.close()
一行一行得從文件讀數據,顯然比較慢;
不過很省內存;
測試讀10M的sample.txt文件,每秒大約讀32000行;
2:fileinput
import fileinput
for line in fileinput.input("sample.txt"):
pass
寫法簡單一些,不過測試以後發現每秒只能讀13000行數據,效率比上一種方法慢了兩倍多;
3:readlines()

file = open("sample.txt")
while 1:
lines = file.readlines(100000)
if not lines:
break
for line in lines:
pass # do something
file.close()
用同樣的數據測試,它每秒可以讀96900行數據!效率是第一種方法的3倍,第二種方法的7倍!
4:文件迭代器
每次只讀取和顯示一行,讀取大文件時應該這樣:
file = open("sample.txt")
for line in file:
pass # do something
file.close()
以上就是小編為大家帶來的Python按行讀取文件的簡單實現方法全部內容了

⑼ python對文件的讀操作方法有哪些

摘要 1 文件讀取全文本操作

⑽ Python中怎麼使用for來讀取文件中每一行的內容和沒一個字元呢

這個是讀每行
如果你再加一層for
for c in line:
print(c)
那就是輸出每個字元

閱讀全文

與python讀取一行文件相關的資料

熱點內容
解壓的玩具教程可愛版 瀏覽:364
哪個求職app比較靠譜 瀏覽:886
java的讀法 瀏覽:59
nod32區域網伺服器地址 瀏覽:1000
數碼科技解壓 瀏覽:235
新網的雲伺服器管理界面復雜嗎 瀏覽:367
無人聲解壓強迫症視頻 瀏覽:571
計算機編譯運行 瀏覽:639
單片機嵌套 瀏覽:988
python字元串中符號 瀏覽:787
python正則表達式貪婪模式 瀏覽:648
愛國精神指的是什麼app 瀏覽:408
壽司解壓系列全集視頻 瀏覽:913
物體三維重建演算法 瀏覽:984
fuli直播app哪個好 瀏覽:918
租辦公室用什麼app 瀏覽:106
醫師定期考核刷題app哪個好 瀏覽:338
導出dmp文件命令 瀏覽:288
手機百度網盤怎麼解壓密碼文件 瀏覽:585
索引重新編譯 瀏覽:606