如何使用Python將兩個檔案連線到一個新檔案中?


在Python中,連線是指將兩個或多個字串、列表或類似序列的物件組合成單個物件的過程。連線操作用“+”運算子表示。

將兩個檔案連線到一個檔案中,當您想組合多個檔案的內容時,這是一個很有用的過程。如果您想合併來自不同來源的資料,或者只是建立一個包含聚合資料的合併檔案,Python提供了一種簡單直接的方法來完成此任務。在本文中,我們將逐步探討使用Python將兩個檔案連線到一個新檔案的不同方法。

開啟原始檔

假設file1.txt和file2.txt是我們想要連線的兩個原始檔。

首先,我們需要開啟這兩個原始檔。我們可以使用open()函式,它以檔名和模式作為引數。在本例中,我們將以讀取模式('r')開啟原始檔。

file1 = open('file1.txt', 'r')
file2 = open('file2.txt', 'r')

讀取檔案內容

開啟上述原始檔後,我們需要讀取它們的內容。這可以使用read()方法完成,該方法將檔案的全部內容作為字串獲取。

content1 = file1.read()
content2 = file2.read()

關閉原始檔

讀取檔案內容後,標準做法是使用close()方法關閉它們。此步驟確保系統資源被釋放。

file1.close()
file2.close()

開啟目標檔案

現在,讓我們以寫入模式開啟一個新檔案,該檔案將作為兩個原始檔連線內容的目標檔案。我們再次使用open()函式,指定檔名和寫入模式('w')。

destination_file = open('concatenated.txt', 'w')

將連線的內容寫入目標檔案

開啟目標檔案後,我們可以使用write()方法將連線的內容寫入其中。在這裡,我們透過使用“+”運算子組合file1.txt和file2.txt的內容來連線原始檔。

destination_file.write(content1 + content2)

關閉目標檔案

連線完成後,需要關閉目標檔案。這確保所有更改都已儲存。

destination_file.close()

連線兩個CSV檔案

在這個程式碼示例中,我們將展示如何使用Python將兩個CSV檔案連線到一個新檔案中。CSV(逗號分隔值)檔案主要用於儲存表格資料。

import csv
# Open the source CSV files
file1 = open('data1.csv', 'r')
file2 = open('data2.csv', 'r')


# Read the contents of the CSV files
csv_reader1 = csv.reader(file1)
csv_reader2 = csv.reader(file2)

# Create a new CSV file for the concatenated data
destination_file = open('concatenated.csv', 'w', newline='')
csv_writer = csv.writer(destination_file)

# Write the headers to the destination file
headers = next(csv_reader1)
csv_writer.writerow(headers)

# Write the rows from the first CSV file
for row in csv_reader1:
   csv_writer.writerow(row)

# Write the rows from the second CSV file
for row in csv_reader2:
   csv_writer.writerow(row)

# Close all the files
file1.close()
file2.close()
destination_file.close()

  • 我們匯入csv模組,該模組提供讀取和寫入CSV檔案的功能。

  • 我們以讀取模式開啟兩個源CSV檔案,data1.csv和data2.csv。

  • 我們為每個原始檔建立CSV讀取器物件,csv_reader1和csv_reader2。

  • 我們以寫入模式開啟一個新的CSV檔案,concatenated.csv,併為寫入連線的資料建立一個CSV寫入器物件,csv_writer。

  • 我們使用next()函式從第一個CSV檔案讀取標題,並將它們寫入目標檔案。

  • 我們迭代第一個CSV檔案中的行,並使用CSV寫入器的writerow()方法將每一行寫入目標檔案。

  • 我們迭代第二個CSV檔案中的行,並將每一行寫入目標檔案。

  • 最後,我們關閉所有檔案以釋放系統資源。

連線兩個文字檔案

在這個程式碼示例中,我們將使用Python將兩個文字檔案連線到一個新檔案中。文字檔案通常用於儲存文字資料。

假設我們有兩個文字檔案如下所示

#text1.txt
I love roses

#text2.txt
I love dahlias too

我們執行以下程式碼

# Open the source text files
file1 = open('text1.txt', 'r')
file2 = open('text2.txt', 'r')

# Read the contents of the text files
content1 = file1.read()
content2 = file2.read()

# Close the source text files
file1.close()
file2.close()

# Open the destination file
destination_file = open('concatenated.txt', 'w')

# Write the concatenated content to the destination file
destination_file.write(content1 + content2)
# Close the destination file
destination_file.close()
  • 我們以讀取模式開啟兩個源文字檔案,text1.txt和text2.txt。

  • 我們讀取每個文字檔案的全部內容,並將它們儲存在變數content1和content2中。

  • 我們使用close()方法關閉源文字檔案。

  • 我們以寫入模式開啟一個新的文字檔案,concatenated.txt,作為目標檔案。

  • 我們使用write()方法將text1.txt和text2.txt的連線內容寫入目標檔案。

  • 最後,我們關閉目標檔案以儲存更改。

使用這些程式碼示例,您可以將不同型別的檔案(例如CSV檔案和文字檔案)連線到一個檔案中。

您現在已經成功掌握瞭如何使用Python將兩個檔案連線到一個新檔案的方法。透過遵循本文中的分步說明,您可以輕鬆地合併多個檔案的內容,並根據您的特定需求建立一個包含聚合內容的檔案。Python的檔案處理函式提供了一種強大而高效的方式來操作檔案並執行各種操作。現在,您可以自信地將此知識應用到您自己的Python專案中,以連線檔案。

最好根據您的特定檔案結構使用正確的檔案路徑和檔名。嘗試使用不同的檔案格式,並探索Python豐富的標準庫提供的其他檔案操作函式,以提高您的檔案處理技能。

更新於:2023年7月17日

12K+ 瀏覽量

啟動您的職業生涯

完成課程獲得認證

開始
廣告
© . All rights reserved.