我想将现有 xlxs 文件的所有列合并为一个由 | 分隔的列
输入
10000 1201 - 1201 Premium Ice Cream EA 76840485116 EA
需要输出
10000|1201 - 1201|Premium Ice Cream|EA|76840485116|EA
我有一个 Excel 公式可以完成这项工作
=Sheet1!A2&"|"&Sheet1!B2&"|"&Sheet1!C2&"|"&Sheet1!D2&"|"&Sheet1!E2&"|"&Sheet1!F2&"|"&Sheet1!G2
有没有办法用 python 脚本将公式应用于所有行?
我已经尝试使用 openpyxl 下面的代码是我最接近的解决方案。
from openpyxl import Workbook
from openpyxl import load_workbook
wb = load_workbook(filename = 'Filename.xlsx')
sheet_ranges = wb['Sheet1']
ws = wb.active
ws["A1"] = '=Sheet1!A2&"|"&Sheet1!B2&"|"&Sheet1!C2&"|
"&Sheet1!D2&"|"&Sheet1!E2&"|"&Sheet1!F2&"|"&Sheet1!G2'
wb.save("Filename.xlsx")
它目前合并第二行并放入 A1 单元格中。有超过 1800 行。 我想将公式应用于所有行并将结果放在新工作表上。
我显然是编码初学者,因此非常感谢您的帮助
请您参考如下方法:
使用应用功能:
df.apply(lambda x: '|'.join(x.astype(str)), 1)
输入
0 1 2 3 4 5
0 10000 1201 - 1201 Premium Ice Cream EA 76840485116 EA
输出(只有1行)
'10000|1201 - 1201|Premium Ice Cream|EA|76840485116|EA'
