gpt4 book ai didi

python - 将类似系列的数据文件导入 pandas

转载 作者:太空宇宙 更新时间:2023-11-03 17:17:16 25 4
gpt4 key购买 nike

以下是数据文件的示例:

 =====
name aaa
place paaa
date Thu Oct 1 12:02:03 2015
load_status 198
add_name naaa
[---blank line---]
=====
name bbb
place pbbb
date Thu Oct 3 21:20:36 2015
load_status 2000.327
add_name nbbb
[---blank line---]

在一个文件中可能有数百条这样的记录。

我想要一个像这样的 pandas 对象:

   name | place | date                    | load_status | add_name
---------------------------------------------------------------
aaa | paaa | Thu Oct 1 12:02:03 2015 | 198 | naaa
bbb | pbbb | Thu Oct 3 21:20:36 2015 | 2000.327 | nbbb

每条记录中的字段数量相同:因此所有记录都有一些“名称”、“地点”等。

我可以使用“bash+grep+awk”转置文件,然后将其读取为 csv,但这对于只有 Python 和 Windows 的用户来说并不实用。使用 Python 转置文件,然后将其读取为 csv 看起来有点矫枉过正,因为我预计 Pandas 应该能够以某种方式处理这种情况。

我想到了 Series+dtypes 和 read_table - 但无法让它们为我工作。

最佳答案

这是一个简单的 Python 循环。之后您必须进行一些清洁工作,并进行一些检查,但这应该可以帮助您开始。

import pandas as pd

records = []
this_record = {}
with open(input_fn, 'r') as f:
for line in f:
if line.strip() == '':
records.append(this_record)
this_record = {}
continue
elif line.startswith('='):
continue
line = line.split()
this_record[line[0]] = ' '.join(line[1:]).strip()

df = pd.DataFrame.from_records(records)

关于python - 将类似系列的数据文件导入 pandas,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33555084/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com