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

使用Pandas将CSV转Excel时表头错位及首行被识别为表头的问题

解决方案:CSV转Excel的表头与格式问题

问题根源

  1. 首行被识别为表头:pd.read_csv()默认将文件第一行解析为表头,但你的CSV第一行是id,1,2,3,4,5,并非真正的表头(你的表头是第一列的id/name/age)。
  2. 格式混乱:代码存在拼写错误(cvs.writer应为csv.writer),且未导入csv模块;同时Pandas默认按常规表格结构解析你的行式数据,导致布局错乱。

修正后的代码(保持原CSV结构)

如果希望保留id/name/age在同一列的布局,使用以下代码:

import pandas as pd
import csv  # 补充缺失的模块导入

# 原始数据
id_col = ["id", 1, 2, 3, 4, 5]
name_col = ["name", "Salma", "Ahmad", "Manar", "Mustapha", "Zainab"]
age_col = ["age", 14, 12, 15, 13, 10]

# 创建CSV文件(修复拼写错误,用with语句自动管理文件)
csv_path = 'path/csvfile.csv'
with open(csv_path, 'w', newline='') as open_csv:
    writer = csv.writer(open_csv)
    writer.writerows([id_col, name_col, age_col])

# 转换为Excel:关闭表头自动识别,去掉默认索引列
excel_path = 'path/Excelfile.xlsx'
df = pd.read_csv(csv_path, header=None)
df.to_excel(excel_path, index=False)

可选:常规表格结构方案

如果你的实际需求是每行对应一条用户记录(列为id/name/age),可以直接用Pandas组织数据并保存,无需手动写CSV:

import pandas as pd

# 按记录维度组织数据
data = {
    "id": [1, 2, 3, 4, 5],
    "name": ["Salma", "Ahmad", "Manar", "Mustapha", "Zainab"],
    "age": [14, 12, 15, 13, 10]
}

# 直接生成Excel(同时可导出CSV)
df = pd.DataFrame(data)
df.to_excel('path/Excelfile.xlsx', index=False)
df.to_csv('path/csvfile.csv', index=False)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 07:30:48