是否可以通过python中的文件类型更改csv文件名?

问题描述

我已经为要自动化的流程创建了脚本。我已经设法获取脚本来下载所需的.csv文件并将其移动到我的项目文件中。已将其移到此处,以便使用熊猫来处理数据。

我现在需要熊猫来访问文件,但是我需要根据文件类型(.csv)更改文件名,或者让熊猫访问文件类型而不是文件名。

这是因为,每次下载此.csv文件时,它都有一个不同的名称,并且为了使用pandas.read_csv函数,该漫游器每次都需要该文件具有相同的名称,以便重复该过程。

我尝试根据文件类型使用glob.glob访问文件,但似乎无法更改该文件的名称。帮帮我吧〜

也许也值得一提,我正在VSC的Mac上运行此代码

#这是我尝试重命名.csv文件的第一个代码

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返回所有匹配文件名的数组。所以:

  1. 如果您知道自己有多个.csv,则必须缩小过滤条件以仅匹配所需的过滤器
  2. rename函数需要文件路径,而不仅仅是名称。因此请注意,我在filename之前加上了'./',以使其成为相对路径。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...