0

我必须使用每个观察包含多行的数据集。每个观察的行数可以变化。该文件的结构使得信息不会重复。

该文件包含一个段 ID,它将输出与特定的信息相关联。这是文件布局的示例。

段 ID 定义

SegementID  Table                   Number of Occurrences
1           Customer Information    1
3           Items bought            1-10

表格布局 - 客户信息

ID  Name

表格布局 - 购买的物品

Item    Cost    Date

这是输出文件的外观示例。

SegementID          
1   100     matt
3   ball    3.25    1/16/2016
3   cat     5.55    1/17/2016
1   200     lucy
3   doll    500.35  2/1/2016
3   ball    3.25    2/2/2016
3   dog     5.55    2/3/2016

请注意,段 ID = 1,与客户信息相关。然后,细分 ID 3 显示客户进行的所有交易。

我想让每个交易行上都有客户 ID 的结构。做这个的最好方式是什么?

ID  Item    Cost    Date
100 ball    3.25    1/16/2016
100 cat     5.55    1/17/2016
200 doll    500.35  2/1/2016
200 cat     3.25    2/2/2016
200 dog     5.55    2/3/2016
4

1 回答 1

1

这是使用的快速解决方案Pandas

import pandas as pd

df = pd.DataFrame()

with open("file.txt", "r") as f:
    f.next()
    for row,line in enumerate(f):
        info =  line.split()
        if info[0] == '1':
            client = info[1]
        else:
            df[row] = [client, info[1],info[2],info[3]]   

df = df.transpose()
df.columns = ["ID","Item","Cost","Date"]
于 2016-08-09T21:24:49.587 回答