Python实现将CSV列数据追加至模板CSV并导出为XLSX
Python新手操作指南:CSV处理与XLSX导出
作为Python新手,你要完成的「导入CSV→转列表/数组→追加到模板CSV→导出XLSX」任务,用pandas就能轻松搞定(需要数组的话搭配numpy就行),我给你一步步拆解操作:
1. 先装必要的工具库
打开终端/命令提示符,运行下面的命令安装需要的包:
pip install pandas numpy openpyxl
- pandas:负责所有CSV/XLSX的读写和数据处理
- numpy:用来生成数组(如果不需要数组可以只装pandas)
- openpyxl:pandas保存XLSX文件依赖的引擎
2. 导入目标CSV并转换为列表/NumPy数组
假设你的输入CSV文件是input_data.csv,首行是表头(比如Date,Test#,Type...):
第一步:读取CSV文件
先导入pandas,读取文件:
import pandas as pd # 读取CSV,注意文件路径要正确,和脚本同目录直接写文件名就行 input_df = pd.read_csv("input_data.csv")
第二步:转成列表
- 单列表:比如把
Date列转成Python列表
date_list = input_df['Date'].tolist() test_num_list = input_df['Test#'].tolist()
- 全数据列表:把整个CSV的内容转成嵌套列表(每一行是一个子列表)
all_data_list = input_df.values.tolist()
第三步:转成NumPy数组
如果需要用numpy数组,先导入numpy,再转换:
import numpy as np # 单列数组 date_array = input_df['Date'].to_numpy() test_num_array = input_df['Test#'].to_numpy() # 全数据数组 all_data_array = input_df.to_numpy()
3. 将数据追加到模板CSV的列中
假设你的模板CSV是template.csv,现在要把刚才的新数据作为新列加进去:
# 先读取模板CSV template_df = pd.read_csv("template.csv") # 追加新列:比如把Date列表作为新列加到模板里 template_df['新增Date列'] = date_list # 同理可以加其他列 template_df['新增Test#列'] = test_num_list
⚠️ 注意:要保证追加的列表/数组长度和模板CSV的行数一致,不然会报错哦!如果行数不匹配,得先检查数据或者做对齐处理。
4. 保存最终结果为XLSX文件
最后把处理好的DataFrame保存成XLSX文件:
# index=False 表示不保存行索引,让表格更整洁 template_df.to_excel("最终结果.xlsx", index=False, engine='openpyxl')
一些小提示
- 如果读取CSV时出现编码错误,可以在
read_csv里加encoding='utf-8'或者encoding='gbk'试试,比如pd.read_csv("input_data.csv", encoding='gbk') - 如果文件不在脚本同目录,要写完整路径,比如
"C:/Users/xxx/Documents/input_data.csv"(Windows)或者"/home/xxx/Documents/input_data.csv"(Mac/Linux)
内容的提问来源于stack exchange,提问作者geojasm
相关产品推荐
相关产品推荐

