说明:原本想将多列变为一列,以便后续的可视化处理,但是合并后出现这样的错位 原本试图通过pandas的cancat()方法中的参数解决,但是没有效果。 pandas的cancat()方法参数解释,参见《pandas数据合并与重塑(pd.concat篇)》,链接: link. 既然参数中找不到解决问题的原因,我就又重新复习了一遍cancat()方法。 但是在其他的excel文件合并时,列索引可以相同,合并后依旧是沿着原列索引后面增加,完全不需要人工设置列索引之间的对齐。 重新看了一下表头,发现合并后的excel是以原excel文件的表头作为新的汇总表的表头的,接下来的排列也是如此,出现错位,实质上是依据表头的不同而不同的, 修改后,先写入excel文件的表头,保证每个excel文件的表头一致,然后进行合并 原来试图简化的代码为: 将表头的内容添加进去即可 生成的excel文件内容(没有添加表头前): 添加表头后: 合并:一、文件错位现象
二、原因
原本以为是excel文件索引的问题,即假设:第一个文件的列为1-10,则合并的第二个文件的列索引应为11-20,如此循环。
因为问题的核心在文件的格式不同,即不是同一个数据集,或者说格式没有整齐划一,表头没有一致,这个是我的锅,原本写入excel中就是希望表头后补可能更好合并三、解决
#ws.cell(row=1, column=1, value='分词') #ws.cell(row=1, column=2, value='频率') #ws.cell(row=1, column=3, value='文书名') ws.cell(row=i + 1, column=1, value=datas[1][i][0]) ws.cell(row=i + 1, column=2, value=datas[1][i][1]) ws.cell(row=i + 1, column=3, value=datas[0])
ws.cell(row=1, column=1, value='分词') ws.cell(row=1, column=2, value='频率') ws.cell(row=1, column=3, value='文书名') ws.cell(row=i + 1, column=1, value=datas[1][i][0]) ws.cell(row=i + 1, column=2, value=datas[1][i][1]) ws.cell(row=i + 1, column=3, value=datas[0])
def xlsx_concat(self): """xlsx文档合并""" input_files = 'J:PyCharm项目项目项目二_文书内容提取输出模块可视化输出\xslx写入' print('读取到了第一个文件.............................................') output_file = 'J:PyCharm项目项目项目二_文书内容提取输出模块可视化输出\xslx写入\test汇总表.xlsx' #需要创建,否则没有输出对象 print('读取到了第二个文件.............................................') all_workbook = glob.glob(os.path.join(input_files, '*.xlsx')) #print(all_workbook) data_frames = [] '''重点来了,遍历工作簿、工作表,簿为列表,表为字典''' for workbook in all_workbook: all_sheets = pd.read_excel(workbook, sheet_name=None, index_col=None) for worksheet_name, data in all_sheets.items(): data_frames.append(data)#sheets内容为表名与表内容 all_data = pd.concat(data_frames)#axis即竖连接还是横连接 print(data_frames) writer = pd.ExcelWriter(output_file) all_data.to_excel(writer, sheet_name='all_output', index=False) writer.save()
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算