Last active 1742879199

[Deprecated] Companion script for VNDB-List-Export. No longer needed

vndb-merge.py Raw
1#!/usr/bin/python3
2
3import csv
4import glob
5import os
6
7import pandas as pd
8
9
10def merge_csv_files(file_pattern, output_prefix) -> None: # noqa: ANN001
11 # 获取所有CSV文件,并按文件名顺序排序
12 csv_files = glob.glob(file_pattern)
13
14 # 按照文件名的顺序(即按ls输出的顺序)进行排序
15 csv_files.sort(key=lambda x: os.path.basename(x))
16
17 # 创建一个空的DataFrame用于合并
18 combined_df = pd.DataFrame()
19
20 # 遍历所有CSV文件
21 for file in csv_files:
22 df = pd.read_csv(file) # noqa: PD901
23 combined_df = pd.concat([combined_df, df], ignore_index=True)
24
25 # 提取日期
26 if csv_files:
27 first_file = csv_files[0]
28 date_str = first_file.split("-")[-1][:8] # 提取前8个字符作为日期 (YYYYMMDD)
29 output_filename = f"{output_prefix}-{date_str}.csv"
30
31 # 保存合并后的DataFrame到新的CSV文件,保留引号
32 combined_df.to_csv(output_filename, index=False, quoting=csv.QUOTE_ALL)
33 print(f"合并完成,文件名为: {output_filename}")
34 else:
35 print(f"没有找到符合条件的CSV文件: {file_pattern}")
36
37
38# 处理 vndb-lengthvotes-export- 开头的文件
39merge_csv_files("vndb-lengthvotes-export-*.csv", "vndb-lengthvotes-export")
40
41# 处理 vndb-list-export- 开头的文件
42merge_csv_files("vndb-list-export-*.csv", "vndb-list-export")
43