【发布时间】:2019-10-15 02:48:21
【问题描述】:
我对 python 还是很陌生(编写了 4 个脚本来清理文件夹和移动一些东西),现在我有了一个新的挑战。
我有这个 csv 文件,其中包含一些 pdf 的数据(pdf 的名称、需要打印的时间等)
我有以下代码 atm,一切正常,但我发现它“不干净”,我希望有更好的方法来格式化一些东西。 这是我的代码:
import csv, shutil, os
with open('\\\\fatboy.leleu.be\\Psm\\Mailing Templates\\OhGreen\\Verwerking\\OhGreen POS week 19.csv') as csvfile:
csvReader = csv.reader(csvfile, delimiter=';')
rows = csv.reader(csvfile)
headers = next(rows)
for row in csvReader:
NAAM = row[0]
Formaat = row[1]
Tekstkleur = row[2]
Gouvy = row[3]
LouvainLaNeuve = row[4]
Nannine = row[5]
Tournai = row[6]
SaintGeorges = row[7]
Aarschot = row[8]
Balen = row[9]
Ekeren = row[10]
Ninove = row[11]
SintKatelijneWaver = row[12]
Olen = row[13]
Zwijndrecht = row[14]
if Gouvy > "0":
file = NAAM + ".pdf"
path = ("\\\\fatboy.leleu.be\\Psm\\Mailing Templates\\OhGreen\\Verwerking\\" + Formaat + "\\" + file)
dest = ("\\\\fatboy.leleu.be\\Psm\\Mailing Templates\\OhGreen\\Verwerking\\2print\\" + Formaat + "\\" + NAAM + "_GOUVY" + ".pdf")
shutil.copy(path, dest)
print(dest , " changed name and moved to ", dest)
if LouvainLaNeuve > "0":
file = NAAM + ".pdf"
path = ("\\\\fatboy.leleu.be\\Psm\\Mailing Templates\\OhGreen\\Verwerking\\" + Formaat + "\\" + file)
dest = ("\\\\fatboy.leleu.be\\Psm\\Mailing Templates\\OhGreen\\Verwerking\\2print\\" + Formaat + "\\" + NAAM + "_LOUVAIN_LA_NEUVE" + ".pdf")
shutil.copy(path, dest)
print(dest , " changed name and moved to ", dest)
if Nannine > "0":
file = NAAM + ".pdf"
path = ("\\\\fatboy.leleu.be\\Psm\\Mailing Templates\\OhGreen\\Verwerking\\" + Formaat + "\\" + file)
dest = ("\\\\fatboy.leleu.be\\Psm\\Mailing Templates\\OhGreen\\Verwerking\\2print\\" + Formaat + "\\" + NAAM + "_NANNINE" + ".pdf")
shutil.copy(path, dest)
print(dest , " changed name and moved to ", dest)
此代码适用于 csv 中的每个城市名称(总共 12 个) 我想寻找一种方法让这个更清洁。 就像我不需要为每个城市创建一个 if 循环,并为所有标题名称等创建一个循环。
欢迎任何提示。 PS:我不会使用 Pandas,因为我无法正确安装它,而且它在基本 python 中已经可以正常工作了
【问题讨论】:
-
这个问题可能更适合codereview.stackexchange.com。不过,请务必先阅读他们的提交指南。
标签: python python-3.x csv shutil reader