首页 > 解决方案 > 如何使用python将excel文件的所有行和列组合成另一个excel文件的单个单元格?

问题描述

我有一个 Excel 'sample1.xlsx',其中包含以下详细信息:-

    0     1       2
0 Name  Address Phone No.
1  abc   22/2    0154235
2  xyz   12-3    9832033

我正在寻找一种使用熊猫数据框从上述excel文件中删除标题的实现:-

   0     1       2
0 abc  22/2   0154235
1 xyz  12-3   9832033

此后,将所有行和列组合到一个单元格中,元素之间有一个空格,并将输出写入另一个 excel 文件:-

                  0
0 abc 22/2 0154235 xyz 12-3 9832033

任何人都可以在上述实施中帮助我吗?

我已经实现了以下代码来删除标题,

import pandas
excel_data_df = pandas.read_excel('sample.xlsx', sheet_name='Sheet1')
df = excel_data_df.iloc[3:]

标签: pythonexcelpython-3.xpandasdataframe

解决方案


看起来您不需要读取标题header=None并使用df.stack()来堆叠数据帧并转回:

pd.read_excel('file.xlsx',header=None,
    skiprows=[0]).stack().to_frame().reset_index(drop=True).T

类似地使用df.to_numpy()转换为 np 数组并使用 np.flatten()我们可以创建一个数据框并转置:

pd.DataFrame(pd.read_excel('file.xlsx').to_numpy().flatten()).T

     0     1       2    3     4        5
0  abc  22/2  154235  xyz  12-3  9832033

推荐阅读