Python 中把一個文字檔案讀成一個列表

Muhammad Waiz Khan 2023年10月10日
  1. 在 Python 中使用 read().split()open() 函式返回的檔案物件上讀取一個文字檔案到列表
  2. 在 Python 中使用 NumPy 庫的 loadtxt 函式讀取文字檔案到列表中
  3. 在 Python 中使用 csv.reader() 函式讀取文字檔案到列表中
Python 中把一個文字檔案讀成一個列表

本教程將研究多種方法來載入或讀取文字檔案到 Python 列表中。它包括使用 open() 函式返回的檔案物件上的 read().split() 函式、NumPy 庫的 loadtxt 函式和 csv.reader 函式來載入一個文字檔案,並將其分割成列表中的獨立元素。

在 Python 中使用 read().split()open() 函式返回的檔案物件上讀取一個文字檔案到列表

下面給出的程式碼示例顯示了我們如何先用 open 讀取一個文字檔案,然後用 read().split() 函式將其分割成一個以 , 為定界符的陣列。

假設文字檔案 file.txt 的內容如下。

1,2,321,355,313

程式碼:

with open("file.txt", "r") as tf:
    lines = tf.read().split(",")

for line in lines:
    print(line)

輸出:

1
2
321
355
313

split() 函式中的引數,即本例中的 ,,指定了文字檔案中的定界符。

在 Python 中使用 NumPy 庫的 loadtxt 函式讀取文字檔案到列表中

下面給出的程式碼示例顯示了我們如何使用 NumPy 庫的 loadtxt 函式來載入文字檔案,並使用 delimiter 引數將其分割成一個陣列。

from numpy import loadtxt

lines = loadtxt("file.txt", delimiter=",")
for line in lines:
    print(line)

輸出:

1.0
2.0
321.0
355.0
313.0

在 Python 中使用 csv.reader() 函式讀取文字檔案到列表中

csv 模組通常用於處理 CSV 檔案,但也可用於處理文字檔案。

csv 模組的 reader 函式讀取給定的檔案並返回一個 _csv.reader 物件。我們可以通過應用 list() 函式將 _csv.reader 物件轉換為列表。

請注意,即使檔案只有一行,轉換後的列表也是一個 2D 陣列;因此,我們需要使用索引 [0] 來獲取 1D 列表。

import csv

with open("file.txt") as f:
    line = csv.reader(f, delimiter=",")

print(list(line)[0])

輸出:

['1', '2', '321', '355', '313']

相關文章 - Python List

相關文章 - Python File