关于我们

质量为本、客户为根、勇于拼搏、务实创新

< 返回新闻公共列表

python 读取 .csv/.xlsx/.xls 文件数据—批量修改文件名

发布时间:2023-06-26 16:00:30

 本文代码主要有两个功能:

        (1)使用 python 读取 .csv/.xlsx/.xls 文件中的数据;

        (2)使用读取到的数据批量修改文件夹下的文件名;


1、文件数据形式



2、待修改文件



3、python 代码实现


import os import shutil import pandas as pd   def change_xlsx(filename, filePath):  """  修改 .xlsx 和 .xls 文件名  :param filename: 待修改文件路径  :param root: 文件修改后的保存路径  """  # TODO 读取 .xlsx 中的数据  data = pd.read_excel(filename, sheet_name='Sheet1') # 读取同一个表格中指定 Sheet1 中的数据,不指定时直接默认读取到这个Excel的第一个表单   # row = data.values # 读取所有数据  # row1 = data.iloc[0].values # 0表示第一行 这里读取数据并不包含表头,要注意哦!  # print("读取指定行的数据:\n{0}".format(row1))   # 遍历该文件夹所有的文件,并for循环  for name in os.listdir(filePath):   # 文件名加上文件夹构成绝对路径  before_file = os.path.join(filePath, name)   # 获取当前文件名所在行  index = data.loc[data['oldName'] == name]   # print("2=", index)   # 当前文件所对应的新名称  new_name = index['newName'].values   if len(new_name):  # index['code'].values 为当前文件名所对应的新名称  after_file = os.path.join(filePath, new_name[0] + ".pdf")   # 利用shutil.move将文件移动到原来位置(重命名的效果)  shutil.move(before_file, after_file)  else:  break   print(" .xlsx/.xls 文件修改完成!!!")   def change_csv(filename, filePath):  """  修改 .csv 文件名  :param filename: 待修改文件路径  :param root: 文件修改后的保存路径  """  data = pd.read_csv(filename, index_col=False)   # row = data.values # 读取所有数据  # row1 = data.iloc[0].values # 0表示第一行 这里读取数据并不包含表头,要注意哦!  # print("读取指定行的数据:\n{0}".format(row1))   # 遍历该文件夹所有的文件,并for循环  for name in os.listdir(filePath):   # 文件名加上文件夹构成绝对路径  before_file = os.path.join(filePath, name)   # 获取当前文件名所在行  index = data.loc[data['oldName'] == name]   # print("2=", index)   # 当前文件所对应的新名称  new_name = index['newName'].values   if len(new_name):  # index['code'].values 为当前文件名所对应的新名称  after_file = os.path.join(filePath, new_name[0] + ".pdf")   # 利用shutil.move将文件移动到原来位置(重命名的效果)  shutil.move(before_file, after_file)  else:  break   print(" .csv 文件修改完成!!!")   if __name__ == '__main__':   # 表格数据路径  filename = 'data_#2.xls'   # 待修改文件路径  filePath = "F:/桌面/get/data2"   if filename.find('.csv') > 0:  change_csv(filename, filePath)  else:  change_xlsx(filename, filePath)

   


4、修改后的结果 



/template/Home/leiyu/PC/Static