要按日期对CSV文件进行排序并重写到同一文件中,可以使用以下步骤和示例代码:
步骤1:导入所需的模块
import csv
from datetime import datetime
步骤2:定义排序函数,根据日期对CSV文件进行排序
def sort_csv_by_date(csv_file):
# 读取CSV文件
with open(csv_file, 'r') as file:
data = list(csv.reader(file))
# 排除CSV文件的标题行
header = data[0]
data = data[1:]
# 将日期字符串转换为datetime对象并进行排序
data.sort(key=lambda x: datetime.strptime(x[0], "%Y-%m-%d"))
# 将排序后的数据重新添加标题行
data.insert(0, header)
# 将排序后的数据写入同一文件中
with open(csv_file, 'w', newline='') as file:
writer = csv.writer(file)
writer.writerows(data)
步骤3:调用排序函数并传入CSV文件路径
csv_file_path = "path/to/csv/file.csv"
sort_csv_by_date(csv_file_path)
完整示例代码:
import csv
from datetime import datetime
def sort_csv_by_date(csv_file):
with open(csv_file, 'r') as file:
data = list(csv.reader(file))
header = data[0]
data = data[1:]
data.sort(key=lambda x: datetime.strptime(x[0], "%Y-%m-%d"))
data.insert(0, header)
with open(csv_file, 'w', newline='') as file:
writer = csv.writer(file)
writer.writerows(data)
csv_file_path = "path/to/csv/file.csv"
sort_csv_by_date(csv_file_path)
请确保将"path/to/csv/file.csv"替换为实际的CSV文件路径。
上一篇:按日期对查询集进行分组
下一篇:按日期对大表进行分区