如何用Python为CSV文件Time列的每条时间条目添加前置日期?
解决方案:给CSV的Time列添加固定日期
嘿,这里有两种实用的方法帮你完成需求,你可以根据自己的场景选择:
方法一:使用Python内置csv模块(无需额外安装依赖)
这个方法适合轻量级的CSV处理,不需要安装第三方库:
import csv # 定义要添加的日期(注意后面带空格,和时间拼接) target_date = "2/5/2018 " # 打开原始文件和输出文件 with open("input.csv", "r", newline="") as infile, open("output.csv", "w", newline="") as outfile: reader = csv.DictReader(infile) writer = csv.DictWriter(outfile, fieldnames=reader.fieldnames) # 先写入表头 writer.writeheader() # 遍历每一行,修改Time字段 for row in reader: row["Time"] = target_date + row["Time"] writer.writerow(row)
代码说明:
- 用
csv.DictReader读取文件,这样可以通过列名(比如row["Time"])直接访问对应的值,更直观 - 遍历每一行时,把目标日期和原时间字符串拼接,替换原来的
Time字段值 - 最后用
DictWriter把修改后的数据写入新文件,保留原表头
方法二:使用pandas库(适合大数据量/复杂操作)
如果你的CSV文件比较大,或者需要后续做更多数据处理,pandas会让代码更简洁:
首先如果还没安装pandas,先执行安装命令:
pip install pandas
然后运行以下脚本:
import pandas as pd # 读取CSV文件 df = pd.read_csv("input.csv") # 修改Time列:添加固定日期 df["Time"] = "2/5/2018 " + df["Time"] # 保存到新的CSV文件(index=False表示不保留pandas自动生成的索引列) df.to_csv("output.csv", index=False)
代码说明:
pandas会自动处理表头和数据行,直接对Time列做批量字符串拼接,代码更简洁to_csv方法的index=False参数很重要,避免输出文件多出一列无用的索引
内容的提问来源于stack exchange,提问作者Cyber_Tron
相关产品推荐
相关产品推荐

