利用pandas进行数据行转列和列转行

一、数据列转行

import pandas as pd  # 导入 pandas 库

def pivot_excel_data(input_file, output_file):
    """
    将 Excel 文件中的数据行转换为列,并保存为新的 Excel 文件
    
    Parameters:
        input_file (str): 输入的 Excel 文件路径
        output_file (str): 输出的 Excel 文件路径
        
    Returns:
        None
    """
    # 读取 Excel 数据
    df = pd.read_excel(input_file, sheet_name='Sheet1')
    
    # 使用 pivot_table() 函数将数据行转换为列
    df_pivot = df.pivot_table(index='店铺', columns='新费用类型', values='金额').reset_index()
    
    # 将处理后的数据保存到新的 Excel 文件
    df_pivot.to_excel(output_file, index=False)

# 调用函数进行数据处理
input_file = 'C:\\Users\\Administrator\\Desktop\\新数据_处理后.xlsx'
output_file = 'converted_data.xlsx'
pivot_excel_data(input_file, output_file)

二、数据行转列

import pandas as pd  # 导入 pandas 库

def melt_excel_data(input_file, output_file):
    """
    将 Excel 文件中的数据列转换为行,并保存为新的 Excel 文件
    
    Parameters:
        input_file (str): 输入的 Excel 文件路径
        output_file (str): 输出的 Excel 文件路径
        
    Returns:
        None
    """
    # 读取 Excel 数据
    df = pd.read_excel(input_file, sheet_name='Sheet1')
    
    # 使用 melt() 函数将数据列转换为行
    df_melted = df.melt(id_vars=['店铺'], var_name='费用类型', value_name='金额')
    
    # 将处理后的数据保存到新的 Excel 文件
    df_melted.to_excel(output_file, index=False)

# 调用函数进行数据处理
input_file = 'C:\\Users\\Administrator\\Desktop\\converted_data.xlsx'
output_file = 'converted_data2.xlsx'
melt_excel_data(input_file, output_file)

 

 

 

posted @ 2024-03-29 17:48  悬崖上的金鱼  阅读(487)  评论(0)    收藏  举报