这可能相当简单,但我正在尝试将行中的数据放入元组列表中。
我正在使用 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
