使用Python将CSV中的值插入到日期和小时相同的另一个CSV中,可以通过以下步骤实现:
import csv
from datetime import datetime
def parse_datetime(datetime_str):
return datetime.strptime(datetime_str, "%Y-%m-%d %H:%M:%S")
def insert_values(source_csv, target_csv):
with open(source_csv, 'r') as source_file, open(target_csv, 'a', newline='') as target_file:
source_reader = csv.reader(source_file)
target_writer = csv.writer(target_file)
for row in source_reader:
source_datetime = parse_datetime(row[0])
source_value = row[1]
# 在目标CSV文件中查找相同日期和小时的行
target_file.seek(0)
target_reader = csv.reader(target_file)
target_rows = list(target_reader)
target_row_index = -1
for i, target_row in enumerate(target_rows):
target_datetime = parse_datetime(target_row[0])
if source_datetime.date() == target_datetime.date() and source_datetime.hour == target_datetime.hour:
target_row_index = i
break
# 如果找到匹配的行,则将值插入到该行中
if target_row_index != -1:
target_rows[target_row_index].append(source_value)
else:
# 如果没有找到匹配的行,则创建一个新行并插入值
new_row = [source_datetime.strftime("%Y-%m-%d %H:%M:%S"), source_value]
target_rows.append(new_row)
# 将更新后的行写入目标CSV文件
target_file.seek(0)
target_writer.writerows(target_rows)
insert_values('source.csv', 'target.csv')
这样,源CSV文件中的值将根据日期和小时插入到目标CSV文件中相应的行中。请注意,此代码假设源CSV文件的格式为两列,第一列为日期和时间(格式为"YYYY-MM-DD HH:MM:SS"),第二列为值。目标CSV文件的格式与源文件相同。
领取专属 10元无门槛券
手把手带您无忧上云