gpt4 book ai didi

python - 将列合并为一个字符分隔的列适用于所有行

转载 作者:太空宇宙 更新时间:2023-11-04 08:25:27 26 4
gpt4 key购买 nike

我想将现有 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'

关于python - 将列合并为一个字符分隔的列适用于所有行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57728266/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com