如何将csv.url格式拆分文件转换为可正常打开的Excel格式
问题解决方案
一、先解决.csv.url文件的本质问题
.csv.url是Windows快捷方式文件,并非真实的CSV文件,大概率是Jupyter环境中文件路径关联异常或保存路径未明确导致的。你可以通过以下两种方式处理:
1. 修正Python代码,直接生成可正常读取的CSV/Excel文件
修改代码,明确保存路径、处理非法文件名字符、指定编码避免乱码,可直接生成CSV或Excel文件:
import os import pandas as pd # 原文件目录 Data_Dir = r"C:\Users\Vikram\.Neo4jDesktop\relate-data\dbmss\dbms-9b8d0ef8-b027-4aec-a0da-4a7e4890bd15\import" Dataset_file = "kg_raw.csv" # 指定拆分后文件的保存目录(和原文件同目录) Save_Dir = Data_Dir # 读取原CSV文件 df = pd.read_csv(os.path.join(Data_Dir, Dataset_file)) # 获取display_relation列的唯一值 row_values = df["display_relation"].unique() # 循环拆分并保存 for value in row_values: # 处理文件名中的特殊字符,避免保存失败 clean_value = str(value).replace('/', '_').replace('\\', '_').replace(':', '_').replace('*', '_').replace('?', '_').replace('"', '_').replace('<', '_').replace('>', '_').replace('|', '_') # 筛选对应值的行 value_df = df[df["display_relation"] == value] # 方式1:保存为可直接用Excel打开的CSV csv_save_path = os.path.join(Save_Dir, f"display_relation_{clean_value}.csv") value_df.to_csv(csv_save_path, index=False, encoding='utf-8-sig') # 方式2:直接保存为Excel文件(需要先安装openpyxl:!pip install openpyxl) # excel_save_path = os.path.join(Save_Dir, f"display_relation_{clean_value}.xlsx") # value_df.to_excel(excel_save_path, index=False, engine='openpyxl') print(f"已生成文件: {csv_save_path}")
2. 处理已生成的.csv.url文件
右键用记事本打开.csv.url文件,里面会有类似URL=file:///C:/xxx/xxx.csv的内容,提取其中的真实CSV文件路径,根据路径找到对应的真实CSV文件即可。如果找不到真实文件,直接用上面修正后的代码重新拆分即可。
二、将CSV转换为Excel格式
方法1:Python代码直接生成(已包含在上面的修正代码中)
取消代码中方式2的注释,安装openpyxl依赖后,可直接生成.xlsx格式文件。
方法2:Excel手动转换
- 打开真实的CSV文件(注意不是
.csv.url快捷方式),Excel会弹出文本导入向导,选择分隔符为逗号,编码选择UTF-8,完成导入。 - 点击「文件」→「另存为」,选择保存类型为「Excel工作簿(*.xlsx)」,完成保存。
内容的提问来源于stack exchange,提问作者Vikraman Parthiban
相关产品推荐
相关产品推荐

