整理手上的论文,按期刊分类,为每一类期刊分年份存放pdf。
# -*- coding:gb2312 -*-
import xlrd
import os
import glob
from shutil import copy
def searchEx(ex):
#根据编号返回文件名称
searchroot = r'E:\论文整理\待分类\整理前'
retrunName = ''
cwd = os.getcwd()
if searchroot:
os.chdir(searchroot)
for filename in glob.iglob('%s_*.pdf'%ex):
retrunName = filename
os.chdir(cwd)
return retrunName
path = r'E:\工作簿1.xlsx'
searchroot = r'E:\论文整理\待分类\整理前'
baseroot = r'E:\论文测试'
data = xlrd.open_workbook(path)
table = data.sheets()[0]
nrows = table.nrows
ncols = table.ncols
#print '合计%s行'%nrows
for i in range(1,nrows):
try:
name = table.row(i)[0].value.encode('gb2312') #文件夹名称
pathi = r'%s\%s'%(baseroot,name)
if not os.path.exists(pathi):
os.makedirs(pathi)
#print name
for j in range(2,21):
try:
num = str(table.row(i)[j].value).encode('gb2312')
if num <> '':
yearj = '%s'%str(j+1995)
pathij = r'%s\%s'%(pathi,yearj) #tardir
if not os.path.exists(pathij):
os.makedirs(pathij)
multi = num.find(';')
if multi > 0:
for n in num.split(';'):
ex = '%04i'%float(n)
filename = searchEx(ex)
srcfile = r'%s\%s'%(searchroot,filename)
dstfile = r'%s\%s'%(pathij,filename)
#print srcfile,dstfile
copy(srcfile,dstfile)
else:
ex = '%04i'%float(num)
filename = searchEx(ex)
srcfile = r'%s\%s'%(searchroot,filename)
#print srcfile
dstfile = r'%s\%s'%(pathij,filename)
#print dstfile
copy(srcfile,dstfile)
except:
print "error: %i,%i"%(i,j)
continue
#break
except:
print "error: "
continue