簡體   English   中英

循環遍歷目錄中的文件並合並python

[英]Loop over files in a directory and merge them python

我在名為looper的文件夾中有2個文件:

testFile.csv 
file2.csv

我想讓我的python代碼遍歷文件夾中的每個文件,並將它們全部合並為一個輸出文件。 到目前為止,我的代碼如下:

def combine_csv_files(input_folder_path, output_path):
    fout = open(output_path, "a")
    for file in sorted(os.listdir(input_folder_path)):
        for line in open(file):
            fout.write(line)

有了這個我得到的錯誤:

IOError: [Errno 2] No such file or directory: 'file2.csv'

我不明白為什么。 另外,合並這些文件時,我只想獲取第一個文件的列標題。 因此,我想合並所有剩余的文件,僅形成第二行。 請幫忙!

os.listdir()僅返回文件名,要獲取完整路徑,請使用os.path.join()

full_path = os.path.join(input_folder_path, file)
for line in open(full_path):
    fout.write(line)

至於有關跳過第一行的后續問題,最簡單的方法是使用itertools.islice

from itertools import islice    
for line in islice(open(full_path), 1, None):
    fout.write(line)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM