如何在df.to_csv的文件目录参数中正确拼接字符串
语法错误原因
你的代码存在几个直接触发报错的语法问题:
- 原始字符串标识
r使用错误:r需要直接放在路径字符串的引号前,不需要单独用引号包裹成'r' - 路径字符串中的反斜杠在普通字符串中会被识别为转义字符,你写的路径末尾反斜杠转义了后面的闭合单引号,导致字符串没有正常结束,最终触发换行符相关的语法报错
File_Name后面多了多余的单引号,分隔符参数sep=\t缺少引号包裹
快速修复后的代码
File_Name = "C4-4TH-6TH.txt" df.to_csv(r'D:\20210719-Loft\B-Structural\ELEMENT DESIGN\Column\CHB-FCD' + '\\' + File_Name, index=None, sep='\t')
更简单的路径拼接方案
手动拼接路径很容易出现斜杠、转义相关问题,推荐用Python内置的路径处理工具,自动适配系统分隔符,无需手动处理斜杠:
方法1:使用os.path.join(兼容所有Python版本)
import os base_dir = r'D:\20210719-Loft\B-Structural\ELEMENT DESIGN\Column\CHB-FCD' File_Name = "C4-4TH-6TH.txt" full_path = os.path.join(base_dir, File_Name) df.to_csv(full_path, index=None, sep='\t')
方法2:使用pathlib(Python3.4及以上版本推荐,面向对象更易用)
from pathlib import Path base_dir = Path(r'D:\20210719-Loft\B-Structural\ELEMENT DESIGN\Column\CHB-FCD') File_Name = "C4-4TH-6TH.txt" full_path = base_dir / File_Name df.to_csv(full_path, index=None, sep='\t')
内容的提问来源于stack exchange,提问作者engrken
相关产品推荐
相关产品推荐

