首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >将.csv读入带有多个键的字典&将匹配的键值存储为嵌套列表

将.csv读入带有多个键的字典&将匹配的键值存储为嵌套列表
EN

Stack Overflow用户
提问于 2022-08-30 11:20:58
回答 1查看 27关注 0票数 0

我需要关于循环遍历.csv文件、转换为字典和存储每个匹配键的列表结果列表(总计3个键)的最佳方法的指导,最后将它们存储到主列表向量中,以便以后作为函数的可迭代输入。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Using pandas to read in a long .csv as below:
mach,elem,cycle,Qty's,Sizes
x,y,1,12,68
x,y,1,24,72
x,y,1,32,76
...
(x,y,1) = Keys
(12,68) = values for each matching set of Keys

我需要将'x','y',1作为字典中的一个键值,其中(12,68)是值。然后,cols 0:3中的所有匹配键都应该将值存储为列表列表;因此,从上面看:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[x,y,1] = ((12, 68),(24,72),(32,76)
[x,y,2] = ...etc

然后,将它们存储到主列表中,以便以后作为函数的输入:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
master = [[x,y,1], [x,y,2],...]

我有许多键值组合,因此最终列表将很大。我可以手动设置熊猫;做类似的事情(不包括;快速示例):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
x_3_vals = x_3.filter(items=["Qty's", "Sizes"])
x_3_vals = x_3_vals.values.tolist()

x_2_vals = x_2.filter(items=["Qty's", "Sizes"])
x_2_vals = x_2_vals.values.tolist()
...

mster = [x_1_vals, x_2_vals, x_3_vals]

但是,我需要一种方法循环遍历长.csv文件,并自动存储/创建列表列表。

列标题在初始文件中不会更改;只有值/键。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-31 06:05:38

好吧,我回答了我自己的问题--不需要字典,这太复杂了。对于任何寻找类似问题的人来说:

在.csv中读取,创建一个“键”框架;然后使用键作为筛选器循环遍历原始帧,将所需的两个列保存为进程中的列表列表,然后将它们存储在主列表中供以后使用。

键帧和主列表是按同步顺序排列的;因此,除非您必须拉出列表的一部分,而且您不确定键在哪个索引中,否则不需要使用字典。

可能有一个更快的方法;但为了清楚起见,这是可行的:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
df = pd.read_csv('Inputs\PM_cycle_test.csv', skip_blank_lines=True, index_col=False)
df['Key'] = df['PM'] + df['Grade'] + df['Cycle'].astype(str)

df_keys = df.filter(items=["Key"]).drop_duplicates().values.tolist()


mstr = []
for idx, val in enumerate(df_keys):
    for _ in enumerate(df):
        df_filter = df.loc[df['Key'].isin(val)].filter(items=["Qty's", "Sizes"])
        tmp = df_filter.values.tolist()
    mstr.append(tmp)
    rprint(f'{df_keys[idx]}-> {mstr[idx]}')


#rprint(df_keys)
rprint(f'{len(mstr)} Items;')
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73547505

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文