我有一个包含数据的文本文件(.txt),它显示如下:-
Yield: 99.7598
Timestamp: 2021/February/13-01:55:04
Angle: 0.00309331
ErrorCode 10: 6
ErrorCode 12: 2
现在我想使用python将其转换为数据帧,如下所示:-
FileName | Yield | TimeStamp | Angle | ErrorCode 10 | ErrorCode 12
xxxxx 99.75 2021/Feb 0.003 6 2
我试图通过以下方式编写此代码:-
import os
import pandas as pd
def sortbycode():
sam_file = open('210107343_summary.txt', 'r')
sams = []
for line in sam_file:
sams.append([i for i in line.strip("\n").split(":")])
sams.sort(key=lambda x:x[0])
for sam in sams:
print("{0:5}|{1:13}".format(*sam))
sortbycode()
这是我目前得到的输出:-
输出:
Angle| 0.00309331
ErrorCode 10| 6
ErrorCode 12| 2
Timestamp| 2021/February/13-01
Yield| 99.7598
这是不好的,因为我的计划是构建它并将其转换为数据帧。我被困在这一点转换成数据帧。这个输出还有一点,它也缺少文件名
你能帮我纠正这个错误,或者告诉我正确的方向吗
好的,你说每个文件有一条记录,但是有很多文件。让我们假设您有一个东西提供文件名,因此
list(filenames())
是一个包含相关文件名的列表您应该首先构建一个函数,该函数根据文件名构建字典:
现在,您可以使用以下工具构建数据帧:
最新答复:
正如OP提到的,只有一条记录的文本文件,以下解决方案是合适的:
convertAllFilesToDataFrame("path/to/your/text/file/directory")
仍应产生以下输出(在我的情况下,我只有两个具有完全相同记录的文件):原始答案
根据文本文件的结构,可以通过两种方式解决此问题:
以下是我的应对策略:
convertAllFilesToDataFrame(parser = oneFileMultiRecordParser)
将产生:convertAllFilesToDataFrame(parser = oneFileSingleRecordParser)
将产生:代码并不完全枯燥,但您可能需要更多的时间来完成
相关问题 更多 >
编程相关推荐