如何使用Python在CSV文件开头插入全为1的新列
方法1:使用pandas实现(代码最简,适合有pandas环境的场景)
直接操作DataFrame即可快速完成列插入:
import pandas as pd # 读取原CSV文件,若原文件是制表符分隔需加参数sep='\t' df = pd.read_csv('input.csv') # loc=0表示插入到最左侧位置,column指定新列名,value指定全列填充值 df.insert(loc=0, column='x', value=1) # 保存结果,index=False表示不输出pandas默认的行索引列 df.to_csv('output.csv', index=False)
提示:如果需要直接修改原文件,保存时把输出路径改成原文件路径即可,建议操作前先备份原文件避免数据丢失。
方法2:使用Python标准库csv实现(无需安装第三方依赖)
无pandas环境时可以用自带的csv模块处理:
import csv # 读取原文件所有内容 with open('input.csv', 'r', newline='') as in_f: # 原文件为逗号分隔可删除delimiter参数,制表符分隔设为'\t' reader = csv.reader(in_f, delimiter='\t') all_rows = list(reader) # 表头插入新列名 all_rows[0].insert(0, 'x') # 逐行插入值为1的新字段 for row in all_rows[1:]: row.insert(0, '1') # 写入新文件 with open('output.csv', 'w', newline='') as out_f: writer = csv.writer(out_f, delimiter='\t') writer.writerows(all_rows)
内容的提问来源于stack exchange,提问作者Hizafa
相关产品推荐
相关产品推荐

