如何使用另一个pandas DataFrame中的字符串读取CSV文件
解决方案
你遇到报错的核心原因是:直接将变量名写在了固定字符串内部,Python不会自动解析替换字符串中的变量名,最终请求的路径是字面量的C:/Users/Desktop/df1_string.csv,而非你预期的、拼接了df1_string变量实际值的路径。另外你提供的报错信息中后缀是逗号加csv(,csv),也需要检查代码中是否误把.写成了,。
你可以用以下任意一种方法实现路径拼接:
- 方法1:f-string拼接(Python3.6及以上版本支持,写法最简洁)
df1_string = df1.iloc[0]['file_name'] # 用{}包裹变量名,字符串前加f标识解析变量 df2 = pd.read_csv(f"C:/Users/Desktop/{df1_string}.csv")
- 方法2:字符串直接拼接
df1_string = df1.iloc[0]['file_name'] df2 = pd.read_csv("C:/Users/Desktop/" + df1_string + ".csv")
- 方法3:使用os.path.join拼接(跨系统兼容性最好,自动适配不同操作系统的路径分隔符)
import os df1_string = df1.iloc[0]['file_name'] full_path = os.path.join("C:/Users/Desktop", f"{df1_string}.csv") df2 = pd.read_csv(full_path)
验证建议
正式读取前可以先打印拼接好的路径,确认和实际文件路径一致:
print(f"C:/Users/Desktop/{df1_string}.csv")
内容的提问来源于stack exchange,提问作者ManOnTheMoon
相关产品推荐
相关产品推荐

