You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将CSV数据转为指定格式并通过openpyxl导出至Excel绘图?

解决方案:CSV读取格式转换 + Excel导出与绘图

1. 转换CSV读取的数据格式

原代码读取的所有元素都是字符串,我们需要将数据行的数字转为整数,同时保留表头的字符串格式。

转为列表格式(符合需求的第二种格式)

import csv

with open('Sampledata2Dplot.csv', newline='') as csvfile:
    reader = list(csv.reader(csvfile))
    # 保留表头,后续行转整数(先去除元素前后空格)
    processed_data = [reader[0]]
    for row in reader[1:]:
        processed_row = [int(item.strip()) for item in row]
        processed_data.append(processed_row)
    print(processed_data)

输出结果:

[['Year', 'Month'], [0, 1], [5, 3], [10, 6], [15, 4]]

转为元组格式(符合需求的第一种格式)

如果需要元组格式,只需将每行转换为元组即可:

import csv

with open('Sampledata2Dplot.csv', newline='') as csvfile:
    reader = list(csv.reader(csvfile))
    processed_data = [tuple(reader[0])]
    for row in reader[1:]:
        processed_row = tuple(int(item.strip()) for item in row)
        processed_data.append(processed_row)
    print(processed_data)

输出结果:

[('Year', 'Month'), (0, 1), (5, 3), (10, 6), (15, 4)]

2. 用openpyxl导出数据到Excel

将处理好的数据写入Excel文件:

from openpyxl import Workbook

# 假设processed_data是上面处理完成的数据
wb = Workbook()
ws = wb.active
ws.title = "PlotData"

# 逐行写入数据
for row in processed_data:
    ws.append(row)

# 保存Excel文件
wb.save("PlotData.xlsx")

3. 用openpyxl创建图表

以散点图为例,将Year作为X轴、Month作为Y轴生成图表:

from openpyxl import Workbook
from openpyxl.chart import ScatterChart, Reference
from openpyxl.chart.series import Series

# 初始化工作簿并写入数据
wb = Workbook()
ws = wb.active
ws.title = "PlotData"
for row in processed_data:
    ws.append(row)

# 创建散点图实例
chart = ScatterChart()
chart.title = "Year vs Month"
chart.x_axis.title = "Year"
chart.y_axis.title = "Month"

# 定义数据范围:跳过表头,选取所有数据行
data_rows = len(processed_data)
x_values = Reference(ws, min_col=1, min_row=2, max_row=data_rows)
y_values = Reference(ws, min_col=2, min_row=2, max_row=data_rows)

# 添加数据系列到图表
series = Series(y_values, x_values, title_from_data=True)
chart.series.append(series)

# 将图表插入到工作表的D1位置
ws.add_chart(chart, "D1")

# 保存带图表的Excel文件
wb.save("PlotData_with_chart.xlsx")

内容的提问来源于stack exchange,提问作者prasadji

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 20:11:12