[英]Convert any file (Readable as Text File) to Excel Format (.xlsx) virtually then convert as dataframe -Python
我几乎完全完成了我的项目 - 一个将包含数千行的机器日志转换为列并通过 pandas 分析其中的多个数据的应用程序。
但是我必须先手动打开机器日志文件并另存为.xlsx,然后在应用程序中打开save.xlsx文件才能将其转换为dataframe。
有什么方法可以虚拟打开 python 中的文件并转换为数据帧?
或打开文件>然后转换为excel>然后转换为数据帧?
我试过了:
def openanyfile():
f = open("Machine.LOG", "r")
print(f.read())
data = pd.DataFrame(f)
print(data)
它已成功读取并打印文件,但在转换为 pd.DataFrame 时,结果为“Empty DataFrame”。
此处附上示例原始文件: https://drive.google.com/file/d/1M6BXpqn10MJCc5mUfg9dGCJKAz_05G3W/view?usp=sharing
它可以作为文本文件读取。
当打开到 MS Excel 时,它将创建 2 列,我通过 pd.read_excel 操作并转换为 dataframe。
谢谢。
不确定您是否仍在寻找解决方案。 一个建议:您可以使用xml.etree.ElementTree
标准库中的 xml.etree.ElementTree。 使用您提供的文件,这似乎可行:
import xml.etree.ElementTree as ETree
with open('Machine.LOG', 'rt') as file:
data = '<Root>' + file.read() + '</Root>'
df = pd.DataFrame.from_records([
{item.tag: item.text for item in record}
for record in ETree.fromstring(data)
])
该文件不包含所有封闭标签,因此我不得不添加一些没有实际意义的人造标签<Root>
。
结果( print(df)
:
Timestamp ... Value
0 FRI NOV 02 04:36:42 2018 ... NaN
1 FRI NOV 02 04:36:42 2018 ... NaN
2 FRI NOV 02 04:36:46 2018 ... NaN
3 FRI NOV 02 04:37:53 2018 ... NaN
4 FRI NOV 02 04:37:56 2018 ... NaN
... ... ... ...
9069 TUE NOV 06 03:09:09 2018 ... NaN
9070 TUE NOV 06 03:09:13 2018 ... NaN
9071 TUE NOV 06 03:09:14 2018 ... NaN
9072 TUE NOV 06 03:09:15 2018 ... NaN
9073 TUE NOV 06 03:09:16 2018 ... NaN
也许它有帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.