Skip to main content
 首页 » 编程设计

python之如何从行中获取数据到元组中

2025年05月04日22pander-it

这可能相当简单,但我正在尝试将行中的数据放入元组列表中。

我正在使用 pandas 并已将电子表格中的数据放在元组列表中,但它不会将每一行的数据放在单独的元组中。我的代码如下:

import pandas as pd 
 
spreadsheet_data = [] 
data = pd.read_excel("file.xlsx") 
info = [(ix, k, v) for ix, row in data.iterrows() for k, v in row.items()] 
spreadsheet_data.append(info) 
print(spreadsheet_data) 

电子表格每行有 3 个项目:食品名称、项目类别和订单推荐。例如:A1 = 可口可乐,B2 = 饮料,C2 = 1 所有这些信息都应该出现在一个元组中,如下所示:(Coca-Cola, Beverages, 1) 我有大约 32 行,我需要列表中所有 32 行的元组。我的代码制作了列表并制作了元组,但是元组中的数据到处都是。对此提供帮助将不胜感激。提前谢谢你。

请您参考如下方法:

pandas.DataFrame.itertuples

[*data.itertuples()] 
 
[Pandas(Index=0, A=1, B=1, C=1, D=1, E=1), 
 Pandas(Index=1, A=1, B=1, C=1, D=1, E=1), 
 Pandas(Index=2, A=1, B=1, C=1, D=1, E=1), 
 Pandas(Index=3, A=1, B=1, C=1, D=1, E=1)] 

或者没有索引或命名元组

[*data.itertuples(index=False, name=False)] 
 
[(1, 1, 1, 1, 1), (1, 1, 1, 1, 1), (1, 1, 1, 1, 1), (1, 1, 1, 1, 1)] 

map 和zip

[*zip(*map(data.get, data))]  
 
[(1, 1, 1, 1, 1), (1, 1, 1, 1, 1), (1, 1, 1, 1, 1), (1, 1, 1, 1, 1)] 

设置

data = pd.DataFrame(1, range(4), [*'ABCDE']) 
 
data 
 
   A  B  C  D  E 
0  1  1  1  1  1 
1  1  1  1  1  1 
2  1  1  1  1  1 
3  1  1  1  1  1