如何解决是否可以通过python中的文件类型更改csv文件名?
我已经为要自动化的流程创建了脚本。我已经设法获取脚本来下载所需的.csv文件并将其移动到我的项目文件中。已将其移到此处,以便使用熊猫来处理数据。
我现在需要熊猫来访问文件,但是我需要根据文件类型(.csv)更改文件名,或者让熊猫访问文件类型而不是文件名。
这是因为,每次下载此.csv文件时,它都有一个不同的名称,并且为了使用pandas.read_csv函数,该漫游器每次都需要该文件具有相同的名称,以便重复该过程。
我尝试根据文件类型使用glob.glob访问文件,但似乎无法更改该文件的名称。帮帮我吧〜
也许也值得一提,我正在VSC的Mac上运行此代码
import glob
path = (glob.glob("/Users/MANI/Documents/Selenium/*.csv"))
os.rename(‘path’,‘CC.csv’)
##这是我尝试让熊猫读取所选目录中所有.csv文件的第二个代码
import pandas as pd
import glob
path = (‘/Users/MANI/Documents/Selenium/*.csv’)
all_files = glob.glob(path + "/*.csv")
li = []
for filename in all_files:
df = pd.read_csv(filename,index_col=None,header=0)
li.append(df)
frame = pd.concat(li,axis=0,ignore_index=True)
#这是我尝试重命名.csv文件的最后一个代码。我使用了一部分代码,以便将.csv文件从下载文件中访问并移动到项目文件夹中
sourcepath='/Users/MANI/Downloads/'
destinationpath = ‘CC.csv’
sourcefiles = os.listdir(sourcepath)
for file in sourcefiles:
if file.endswith('.csv'):
os.rename(os.path.join(sourcepath,file),os.path.join(destinationpath,file))
我只需要其中之一即可工作,但想知道哪一个是最好的选择
解决方法
这很简单。这是我测试并运行的示例:
import glob
import os
filename = glob.glob('*.csv')[0]
os.rename('./{}'.format(filename),'correct_name.csv')
说明:
请记住,glob
返回所有匹配文件名的数组。所以:
- 如果您知道自己有多个
.csv
,则必须缩小过滤条件以仅匹配所需的过滤器 -
rename
函数需要文件路径,而不仅仅是名称。因此请注意,我在filename
之前加上了'./'
,以使其成为相对路径。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。