首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何逐行读取多个文本文件,并在每个文件之后发送到excel新列?

如何逐行读取多个文本文件,并在每个文件之后发送到excel新列?
EN

Stack Overflow用户
提问于 2017-02-10 15:42:41
回答 4查看 1.2K关注 0票数 1

我正在构建一个脚本来运行重复的测试,每个测试都带有一个日志文件,该日志文件将被读取并编译成一个电子表格。

每个文件和行的数量将根据时间和所需的项目而有所不同。我有一个基本脚本,可以逐行读取一个文件,并将数据粘贴到连续行的单独excel文档中。

代码语言:javascript
运行
复制
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布局

谢谢你的帮助。

EN

Stack Overflow用户

发布于 2017-02-10 16:03:14

我在想和卢克一样(只是花了一点时间打字):

代码语言:javascript
运行
复制
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 ws
票数 0
EN
查看全部 4 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42163281

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档