如何将DataFrame按每30行拆分后横向拼接为多列以适配打印需求
CSV行列重组实现方案
前置依赖
需要安装Python的pandas数据处理库,安装命令:pip install pandas
实现脚本
import pandas as pd # 配置参数,可按需调整 input_csv_path = "你的输入文件路径.csv" output_csv_path = "你的输出文件路径.csv" chunk_size = 30 # 每多少行折为右侧新的两列 # 读取原始两列CSV df = pd.read_csv(input_csv_path) # 计算总共有多少个数据块 total_rows = len(df) chunk_num = (total_rows + chunk_size - 1) // chunk_size # 拆分数据为多个块,每个块重置索引方便横向拼接 chunk_list = [] for i in range(chunk_num): start = i * chunk_size end = min((i+1)*chunk_size, total_rows) chunk = df.iloc[start:end].reset_index(drop=True) chunk_list.append(chunk) # 横向拼接所有块 result_df = pd.concat(chunk_list, axis=1) # 重命名列,按顺序生成Column_1、Column_2...,如果需要保留原始列名可删除本段代码 result_df.columns = [f"Column_{i+1}" for i in range(len(result_df.columns))] # 导出为CSV result_df.to_csv(output_csv_path, index=False, encoding="utf-8-sig")
使用说明
- 脚本默认每30行折为两列追加到右侧,可修改
chunk_size参数自定义排版行数,适配不同纸张尺寸的打印需求 - 导出的CSV用Excel/WPS打开后可直接调整列宽、边距后打印,可大幅减少纸张消耗
- 若原始CSV已经设置了业务相关的列名(比如物品名称、库存数量),删除脚本中重命名列的代码段即可保留原有列名
内容的提问来源于stack exchange,提问作者Igor Lima
相关产品推荐
相关产品推荐

