【发布时间】:2022-01-03 09:55:09
【问题描述】:
我需要以自动方式将 csv 文件转换为 Excel 文件。我无法用相应的 csv 文件的名称命名 Excel 文件。 我将 csv 文件保存为“Trials_1”、“Trials_2”、“Trilas_3”,但是使用我编写的 Python 代码给了我一个错误,并要求我提供名为“Trials_4”的 csv 文件。然后,如果我将 csv 文件“Trials_1”重命名为“Trials_4”,程序将运行并生成一个名为“Trials_1”的 Excel 文件。 如何更正我的代码?
'''
import csv
import openpyxl as xl
import os, os.path
directory=r'C:\\Users\\PycharmProjects\\input\\'
folder=r'C:\\Users\\PycharmProjects\\output\\'
for csv_file in os.listdir(directory):
def csv_to_excel(csv_file, excel_file):
csv_data=[]
with open(os.path.join(directory, csv_file)) as file_obj:
reader=csv.reader(file_obj)
for row in reader:
csv_data.append(row)
workbook= xl.Workbook()
sheet=workbook.active
for row in csv_data:
sheet.append(row)
workbook.save(os.path.join(folder,excel_file))
if __name__=="__main__":
m = sum(1 for f in os.listdir(directory) if os.path.isfile(os.path.join(directory, f)))
new_name = "{}Trial_{}.csv".format(directory, m + 1)
k = sum(1 for file in os.listdir(folder) if os.path.isfile(os.path.join(folder, file)))
new_name_e = "{}Trial_{}.xlsx".format(folder, k + 1)
csv_to_excel(new_name,new_name_e)
'''
谢谢。
【问题讨论】: