关于数据处理问题,想要将3行内容合并到一行,有什么好的方法吗求解?

#python #excel #数据处理

img

如图数据,想要将每4行数据合成一行,且列数不变,就是单元格还在,可以用excel实现吗或者python

img


将数据转换成这样的

感觉这个用openpyxl 比较合适, 逐行遍历, 按你的要求改下对应的单元格。

import pandas as pd

df = pd.DataFrame({'班级':['A','B','C','C','D','E','E'],
'姓名':['a','b','c','d','e','f','g'],
'课程':['数学','数学','语文','数学','数学','语文','数学']
})
print(df)
col_len = len(df.columns)
rows = 3
new_columns =list(range(col_len * rows))
dfnew = pd.DataFrame(columns = new_columns)
ii = 0

line = []
for i in df.iterrows():
    if i[0] % rows < rows:
        line = line + i[1].tolist()
        if i[0] % rows == rows - 1:
            dfnew.loc[ii] = line
            line = []
            ii += 1
if line:
    dfnew.loc[ii] = (line + [None] * col_len * rows)[:len(new_columns)]
dfnew.to_excel('test.xlsx', index = False, header = FalseD)

img