一、Python讀取txt文件
在Python中,使用`open()`函數可以打開文本文件,讀取其中的內容,如下所示:
file = open('example.txt', 'r') content = file.read() print(content) file.close()
上述代碼使用`open()`函數以只讀模式打開一個名為`example.txt`的文件,讀取其中的內容並將其存儲在變數`content`中,最後輸出整個文件的內容。同時,使用`close()`函數關閉文件。
當然,讀取整個文件內容可能會導致內存溢出,因此還可以使用`readline()`或`readlines()`函數來一次讀取一行或全部行的內容。比如:
file = open('example.txt', 'r') content = file.readline() while content: print(content.strip()) content = file.readline() file.close()
上面的代碼打開文本文件`example.txt`,使用`readline()`函數一次讀取一行,並用`while`循環依次列印每一行,其中`strip()`函數用於去除行末的空白符。
二、Python讀取txt的原理
在Python中,使用`open()`函數打開文件後,會返回一個文件對象。文件對象可用於讀取或寫入文本文件的內容。當文件對象被創建時,操作系統會為之分配一個文件標識符,其值會不斷遞增,用於其他操作系統調用該文件時的標識符。
在Python中,文件中的數據在內存中以緩衝區形式存儲。在讀取文件時,數據從緩衝區中讀取並傳輸到Python解釋器中。為了避免內存溢出,Python會在內存中建立一個緩衝區,每次只讀取一部分數據,而非一次性讀取整個文件內容。
三、Python讀取txt關鍵字的數據
在文本文件中,數據可能被保存在沒有特定分隔符的文本中。而我們可能需要從文本中提取特定的、符合我們需求的數據。此時,可以使用Python中字元串的各種方法和正則表達式來實現。
比如,下面的代碼可以從文本文件`example.txt`中提取含有關鍵字`python`的行:
import re file = open('example.txt', 'r') for line in file: if re.search('python', line, re.IGNORECASE): print(line.strip()) file.close()
上述代碼使用了正則表達式`python`匹配行中含有關鍵字`python`的行,並用`strip()`函數去除行末的空白符。其中`re.IGNORECASE`表示不區分大小寫匹配。
四、Python讀取txt內容
使用`read()`函數可以一次性讀取整個文件,但如果文件過大,這種方法不僅會導致內存和處理時間的浪費,還可能使整個程序崩潰。因此,可以使用`read(size)`函數每次讀取指定大小的數據。
比如,下面的代碼讀取文件中的前1000個字元:
file = open('example.txt', 'r') content = file.read(1000) print(content) file.close()
五、Python讀取txt數據
文本文件中可能包含各種格式的數據,而我們需要將這些數據解析出來。Python中有許多庫和函數可以幫助我們完成這個任務,比如`csv`、`pandas`等庫。
比如,下面的代碼使用`csv`庫讀取一個csv文件:
import csv with open('example.csv', 'r') as file: reader = csv.reader(file) for row in reader: print(row)
六、Python讀取txt指定行內容
有時,我們只需要讀取一個文本文件中的特定行。此時,可以使用Python中的列表和`readlines()`函數來實現。
比如,下面的代碼讀取文本文件`example.txt`中的第3行、第5行、第7行和第9行:
file = open('example.txt', 'r') lines = file.readlines() index = [2, 4, 6, 8] for i in index: print(lines[i].strip()) file.close()
上述代碼讀取文件中的全部行,然後使用列表`index`保存想要讀取的行的索引,最後按照行的索引列印出相應行的內容。其中,`strip()`函數用於去除行末的空白符。
七、Python讀取txt寫入excel
有時,我們需要將文本文件中的數據寫入到Excel文件中。此時,可以使用Python中的`openpyxl`庫。這個庫允許我們以編程的方式來創建、讀取和修改Excel文件。
比如,下面的代碼向Excel文件`example.xlsx`的第一個工作表中寫入文本文件`example.txt`的內容:
import openpyxl wb = openpyxl.Workbook() ws = wb.active with open('example.txt', 'r') as file: row = 1 for line in file: ws.cell(row=row, column=1).value = line.strip() row += 1 wb.save('example.xlsx')
上述代碼創建了一個Excel文件並打開了它的第一個工作表。然後,使用`open()`函數打開文本文件並將每一行寫入到Excel文件第一列中,最後保存Excel文件。
八、Python讀取txt某一行
除了讀取指定行的內容,還有一種常見的需求是讀取文件的第一行或最後一行。Python中可以使用迭代器來完成這個任務。具體地,使用`next()`函數可以迭代一個迭代器。因此,我們可以使用`iter()`函數將文件對象轉換為迭代器,然後使用`next()`函數即可讀取一行數據。
比如,下面的代碼讀取文本文件`example.txt`的第一行和第二行:
file = open('example.txt', 'r') iterator = iter(file) print(next(iterator).strip()) # 第一行 print(next(iterator).strip()) # 第二行 file.close()
九、Python讀取txt矩陣
在文本文件中,矩陣通常被保存為以空格或製表符為分隔符的數據,且每行數據具有相同的長度。此時,我們可以使用Python中的列表和各種解析技巧來將矩陣讀取到內存中。
比如,下面的代碼讀取文本文件`example.txt`的矩陣:
file = open('example.txt', 'r') matrix = [] for line in file: row = line.strip().split() matrix.append(row) file.close() for row in matrix: print(row)
上述代碼讀取文件中的全部行,然後使用`split()`函數將每一行切分為一個字元串列表`row`,最後將這個列表放到一個列表`matrix`中。
原創文章,作者:GLSLE,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/324690.html