簡體   English   中英

使用Python將多個輸入文件轉換為一個Excel文件

[英]Convert multiple input files into one single Excel file, with Python

由於我對Python的了解不多,我想問一下如何將多個輸入文件保存到不同列中的一個Excel文件中? 我有一個python腳本,它將單個日志文件作為輸入:

file = 'output_1.log' 

並在Excel文件中的單個列中輸出此日志文件的一些結果,如下所示:

data = open(file, 'r')

如何更改這些命令以讀取多個文本文件( *.log )並在每個輸入文件的不同列中的單個Excel文件中打印結果?

謝謝...

這會做您想要的。 它逐個讀取每個文件,以創建一個字典,將每個文件名映射到其列表。

import glob

data = {}
for infile in glob.glob("*.log"):
    with open(infile) as inf:
        data[infile] = [l[:-1] for l in inf]

with open("summary.xls", "w") as outf:
    outf.write("\t".join(data.keys()) + "\n")
    for sublst in zip(*data.values()):
        outf.write("\t".join(sublst) + "\n")

大衛的答案是一個不錯的選擇。

就個人而言,我更傾向於使用os.walk之類的東西(如果從單個目錄中提取所有內容)來遍歷所有日志文件,或者從用戶提供的列表中遍歷它們。

至於編寫XLS文件,您當然可以像David指出的那樣使用join作為TSV來完成。 但是,使用類似XLWT的庫可以為您提供更多控制權,並可以訪問更多卓越功能。 如果您確實想將其作為TSV進行操作,則仍可能需要查看帶有其writer對象的CSV庫,以幫助處理諸如文本引用之類的事情。

暫無
暫無

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

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