#python #excel #数据处理
如图数据,想要将每4行数据合成一行,且列数不变,就是单元格还在,可以用excel实现吗或者python
感觉这个用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)