如何将数据平铺到execl某一列并保持原文格式字体

# 首先你要安装
# pip install pandas openpyxl
# 以下是对execl的操作
import pandas as pd

# 你的数据列表
percentages = [
    1.84, 1.52, 1.58, 1.17, 0.2, 1.4, 0.47, 0.41, 0.04, 1.62, 0.77, 1.52,
    1.68, 1.85, 1.88, 1.9, 0.19, 0.23, 2.12, 0.9, 1.69, 0.07, 0.25, 1.81,
    0.87, 0.65, 0.86, 0.33, 0.78, 1.11, 1.8, 0.37, 0.4, 0.56, 0.62, 1.35,
    0.49, 1.29, 1.19, 2.16, 0.22, 0.45, 0.67, 1.67, 0.45, 0.49, 0.12, 1.38,
    2.25, 0.08, 1.82, 1.79, 1.26, 0.02, 0.72, 1.08, 1.17, 2.0, 0.32, 0.09,
    0.37, 0.54, 0.49, 1.06, 0.27, 1.3, 0.82, 2.17, 0.67, 1.78, 0.23, 2.18,
    0.29, 0.66, 1.3, 1.38, 2.07, 0.23, 1.25, 0.22, 1.03, 1.38, 2.1, 1.34,
    1.5, 0.57, 1.13, 0.59, 1.82, 1.38, 0.39, 1.15, 0.1, 1.8, 2.07, 0.3, 2.08
]

# 加载现有的Excel文件
df = pd.read_excel('your_excel_file.xlsx')

# 假设你有足够的行来插入这些数据
# 如果没有,你可以添加新行
if len(df.index) < len(percentages):
    # 添加缺失的行
    extra_rows = len(percentages) - len(df.index)
    df = df.append([{}]*extra_rows, ignore_index=True)

# 向"占比"列插入数据
df['占比'] = pd.Series(percentages)

# 将修改后的DataFrame保存回Excel文件
# 为了保存xlsx文件,你需要openpyxl库
df.to_excel('your_modified_excel_file.xlsx', index=False)

  上面的这种方式并不能保存之前的格式和样式

from openpyxl import load_workbook

# 要更新的数据
percentages = [
    # 你的占比数据,示例数据...
    2.08, 1.84, # 假设有更多数据
]

# 加载现有的Excel工作簿
wb = load_workbook('your_excel_file.xlsx')
ws = wb.active  # 假设数据在第一个工作表

# 假设"占比"位于C列,从C2开始更新(假设C1是列标题)
for i, value in enumerate(percentages, 2):  # 从第二行开始
    cell = ws[f'C{i}']
    cell.value = value
    # 注意:这里不需要额外设置格式和字体,因为我们只是更新了值,未触及格式

# 保存更改到新的文件,保留原始格式
wb.save('your_modified_excel_file.xlsx')

  这种方式就可以保存execl本来的字体和样式

posted @ 2024-04-17 20:06  CongShao's  阅读(3)  评论(0编辑  收藏  举报