import pandas as pd
import re
import os
# ---------- 输入输出路径 ----------
csv_path = r"C:\Users\18102\Downloads\jietu\百度网盘分享.csv"
output_excel = r"C:\Users\18102\Downloads\jietu\百度网盘分享完整.xlsx"
# ---------- 您新提供的三条分享记录 ----------
new_records = []
# ---------- 读取现有 CSV(如果存在) ----------
if os.path.exists(csv_path):
try:
df_existing = pd.read_csv(csv_path, encoding='utf-8')
except UnicodeDecodeError:
df_existing = pd.read_csv(csv_path, encoding='gbk')
except Exception as e:
print(f"读取CSV失败:{e}")
exit()
# 确保列名正确(若列数正好是4则重命名)
expected_cols = ['文件名', '链接', '提取码', '分享状态']
if list(df_existing.columns) != expected_cols:
if len(df_existing.columns) == 4:
df_existing.columns = expected_cols
else:
print("现有CSV列名不匹配,请检查。")
print("当前列名:", df_existing.columns.tolist())
exit()
else:
print("CSV文件不存在,将只使用新添加的三条记录。")
df_existing = pd.DataFrame(columns=['文件名', '链接', '提取码', '分享状态'])
# ---------- 添加新记录并去重(防止重复) ----------
df_new = pd.DataFrame(new_records)
df_combined = pd.concat([df_existing, df_new], ignore_index=True)
df_combined.drop_duplicates(subset=['文件名'], keep='first', inplace=True)
# ---------- 提取站点 ID ----------
def extract_id(filename):
if not isinstance(filename, str):
return None
match = re.match(r'^(\d+)', filename)
return int(match.group(1)) if match else None
df_combined['站点id'] = df_combined['文件名'].apply(extract_id)
# 过滤掉未提取到ID的行(正常情况下不会)
df_valid = df_combined[df_combined['站点id'].notna()].copy()
# ---------- 选择最终列,并按ID排序 ----------
df_result = df_valid[['站点id', '文件名', '链接', '提取码']].copy()
df_result.sort_values('站点id', ascending=True, inplace=True)
# ---------- 输出到 Excel ----------
df_result.to_excel(output_excel, index=False, engine='openpyxl')
print(f"✅ 完整Excel已生成,共 {len(df_result)} 条分享记录。")
print(f"📁 输出路径:{output_excel}")
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END





![表情[aoman]-红穆笔记](https://www.4s5.cn/wp-content/themes/zibll/img/smilies/aoman.gif)



暂无评论内容