我正在构建一个脚本来运行重复的测试,每个测试都带有一个日志文件,该日志文件将被读取并编译成一个电子表格。
每个文件和行的数量将根据时间和所需的项目而有所不同。我有一个基本脚本,可以逐行读取一个文件,并将数据粘贴到连续行的单独excel文档中。
from openpyxl import load_workbook
from Test_Parameters import Results_Name
from Downstream import Log_Angle
wb = load_workbook(filename= Results_Name +'.xlsm', read_only=False, keep_vba=True)
ws7 = wb['timeData']
FILE = open('0_Downstream.txt', 'r+')
line = FILE.readline()
N = '2'
while line !="":
print(line)
ws7['A'+N] = line
line = FILE.readline()
N = float(N)
N = (N+1)
N = "%g" % N
wb.save(Results_Name+'.xlsm')
FILE.close()我需要能够让它循环在同一个目录中的多个文件中,并将结果放在一个独立的列中,而不是最后一个。类似于下面的表格:Excel布局
谢谢你的帮助。
发布于 2017-02-10 16:03:14
我在想和卢克一样(只是花了一点时间打字):
from openpyxl import load_workbook
from Test_Parameters import Results_Name
from Downstream import Log_Angle
import os
def good_name():
wb = load_workbook(filename=Results_Name + '.xlsm', read_only=False, keep_vba=True)
ws7 = wb['timeData']
for path in os.listdir('dir_path'):
# You can use glob here if you have other extensions than .txt
ws = load_sheet(path, ws7)
wb.save(Results_Name + '.xlsm')
def load_sheet(file_path, ws):
with open(file_path, 'r+') as FILE:
# This context manager is a cleaner way to open/close our file handle
line = FILE.readline()
N = '2'
while line !="":
print(line)
ws['A'+N] = line
line = FILE.readline()
N = float(N)
N = (N+1)
N = "%g" % N
return wshttps://stackoverflow.com/questions/42163281
复制相似问题