当然了在python中写个循环就可以了:
import pandas as pd
from openpyxl import load_workbook
nameList = [] #创建一个列表用于接收数据
book = load_workbook('C:/Users/15432/Desktop/route.xlsx') #打开工作表
nameSheet = book["data"] #读取工作簿
#按行读取第一列,并存入列表:
for row in range(1,nameSheet.max_row+1):
nameList.append(str(nameSheet["A%d"%(row)].value))
dict_route={"出发地":[],"目的地":[]}
k = len(nameList) #nameList列表中元素个数
#遍历nameList列表
for m in range(k):
for n in range(k):
#字典dict_route中追加数据
dict_route.setdefault("出发地",[]).append(nameList[m])
dict_route.setdefault("目的地",[]).append(nameList[n])
route=pd.DataFrame(dict_route)
route.to_excel("C:/Users/15432/Desktop/route_list.xlsx",sheet_name="route")
在excel中利用power query:
例如下图,假如我们需要做个每个出发地到所有其他出发地的全组合,即5*5行数据,首先我们需要给每个出发地相同编号为了合并查询做匹配使用。
- 打开power query从表范围获取数据
- 选择合并查询,点击编号,选择联接种类
- 点击拓展,并只勾选出发地列
- 列重命名
- 关闭并上载数据