Python应用:文件内容分析:纵向组合列表
时间:2006-12-25 来源:wibrst
这是上周四没发成功的帖子。
现在工作的东西需要把策划文档中的Excel内容按列形成数组。考虑到有几个像这样的独立部分,并且以后修改的可能性也很大,正好可以用Python来方便地完成这个任务。
举个例子,比如:原来的文件是从Excel拷贝出来存为 parseWordGroup.txt,内容:
现在工作的东西需要把策划文档中的Excel内容按列形成数组。考虑到有几个像这样的独立部分,并且以后修改的可能性也很大,正好可以用Python来方便地完成这个任务。
举个例子,比如:原来的文件是从Excel拷贝出来存为 parseWordGroup.txt,内容:
鹅 毛 河则会生成result.txt:
南 方 鸡
江 南 人
青 草 鹅
青 色 方
红 花 子
花 草 色
c1Array = ["鹅","南","江","青","青","红","花"]以下是程序源码,各位路过如果有空,请您留个改进意见啥的哦。
c2Array = ["毛","方","南","草","色","花","草"]
w0Array = ["河","鸡","人","鹅","方","子","色"]
# colsToArrays.py
# encoding:gb2312
import re
import types
# 数据文件
sFrom='parseWordGroup.txt'
sResult='result.txt'
# 列数
iCol=3
# 建立目标数组
aProduce=[]
for i in range(0,iCol):
aProduce.append([])
print len(aProduce)
# 文件读打开
fFrom=file(sFrom,'r')
# 析出分行列表
aFrom=fFrom.readlines()
nLine=-1
# 分别取出对应的数组
for l in aFrom:
++nLine
m=re.search('\s*'.join(['(\S\S)']*3),l)
if type(m)!=types.NoneType: # 可以匹配
for i in range(0,iCol):
aProduce[i].append(m.group(i+1))
# 对目标数组取标识名
def getTgtAryId(i):
if i<2:
return "c"+str(i+1)
else:
return "w"+str(i-2)
# 将结果写入文件
fRs=file(sResult,'w')
for i in range(0,iCol):
sLine=getTgtAryId(i)+'Array = ["'\
+'","'.join(aProduce[i])+'"]'
fRs.write(sLine+'\n')
fRs.close()
相关阅读 更多 +