gpt4 book ai didi

python - 如何从文件路径中提取文件名?

转载 作者:太空狗 更新时间:2023-10-29 22:04:39 25 4
gpt4 key购买 nike

我有以下代码:

os.listdir("staging")

# Seperate filename from extension
sep = os.sep

# Change the casing
for n in os.listdir("staging"):
print(n)
if os.path.isfile("staging" + sep + n):
filename_one, extension = os.path.splitext(n)
os.rename("staging" + sep + n, "staging" + sep + filename_one.lower() + extension)

# Show the new file names
print ('\n--------------------------------\n')
for n in os.listdir("staging"):
print (n)

# Remove the blanks, -, %, and /
for n in os.listdir("staging"):
print (n)
if os.path.isfile("staging" + sep + n):
filename_zero, extension = os.path.splitext(n)
os.rename("staging" + sep + n , "staging" + sep + filename_zero.replace(' ','_').replace('-','_').replace('%','pct').replace('/','_') + extension)

# Show the new file names
print ('\n--------------------------------\n')
for n in os.listdir("staging"):
print (n)

"""
In order to fix all of the column headers and to solve the encoding issues and remove nulls,
first read in all of the CSV's to python as dataframes, then make changes and rewrite the old files
"""
import os
import glob
import pandas as pd

files = glob.glob(os.path.join("staging" + "/*.csv"))

print(files)

# Create an empty dictionary to hold the dataframes from csvs
dict_ = {}

# Write the files into the dictionary
for file in files:
dict_[file] = pd.read_csv(file, header = 0, dtype = str, encoding = 'cp1252').fillna('')

在字典中,数据帧被命名为“文件夹/名称(csv)”,我想做的是从字典中的键中删除前缀“staging/”。

我该怎么做?

最佳答案

如果您只想将文件路径截断为文件名,您可以使用os.path.basename。 :

for file in files:
fname = os.path.basename(file)
dict_[fname] = (pd.read_csv(file, header=0, dtype=str, encoding='cp1252')
.fillna(''))

例子:

os.path.basename('Desktop/test.txt')
# 'test.txt'

关于python - 如何从文件路径中提取文件名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45113157/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com