#!/usr/bin/python3 import pandas as pd import glob import os import csv def merge_csv_files(file_pattern, output_prefix): # 获取所有CSV文件,并按文件名顺序排序 csv_files = glob.glob(file_pattern) # 按照文件名的顺序(即按ls输出的顺序)进行排序 csv_files.sort(key=lambda x: os.path.basename(x)) # 创建一个空的DataFrame用于合并 combined_df = pd.DataFrame() # 遍历所有CSV文件 for file in csv_files: df = pd.read_csv(file) combined_df = pd.concat([combined_df, df], ignore_index=True) # 提取日期 if csv_files: first_file = csv_files[0] date_str = first_file.split("-")[-1][:8] # 提取前8个字符作为日期 (YYYYMMDD) output_filename = f"{output_prefix}-{date_str}.csv" # 保存合并后的DataFrame到新的CSV文件,保留引号 combined_df.to_csv(output_filename, index=False, quoting=csv.QUOTE_ALL) print(f"合并完成,文件名为: {output_filename}") else: print(f"没有找到符合条件的CSV文件: {file_pattern}") # 处理 vndb-lengthvotes-export- 开头的文件 merge_csv_files("vndb-lengthvotes-export-*.csv", "vndb-lengthvotes-export") # 处理 vndb-list-export- 开头的文件 merge_csv_files("vndb-list-export-*.csv", "vndb-list-export")