python处理txt2excel碰到的问题,请帮忙。

zxlrock 2016-03-02 10:47:00
土木狗新发现了Python这个好语言,刚刚开始学,尝试对satwe计算结果的out文件读取其中一部分内力写到excel文件中。小白写了一小段,就是有格式缩进错误,找不到了,请帮帮忙。谢谢了。
# -*- coding: utf-8 -*-
"""
Created on Mon Feb 29 11:17:17 2016
@author: Administrator
"""
import xlwt
i = 0
file1 = open("002.txt","r")
file2 = open("out.txt","w")
while True:
line = file1.readline()
i += 1
if 55<=i and i<=66:
file2.write(line)
if i >66 :
break
if not line:
break
file1.close()
file2.close()
obj=open("out.txt","r")
all_txt=obj.read()
out_txt=eval(all_txt)
wb=xlwt.Workbook()
sheet=wb.add_sheet('shuju')
#
n=0
for k in obj.readlines():
dickkey = str(k)
sheet.write(n,0,dickkey)
m=1
print"标准内力信息===",dickkey
vals =out_txt.get(dickkey,None)
if vals is None:
vals=out_txt.get(k,None)
print "vals==========",vals
for item in vals :
import types
if type(item) is types.StringType :
item=item.strip().decode('gbk')
if type(item) is types.IntType:
continue
sheet.write(n,m ,item )
m=m+1
n=n+1
obj.close()
wb.save("out.xls")
...全文
125 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
panghuhu250 2016-03-03
  • 打赏
  • 举报
回复

for item in line.split("\t") :
有可能line不是用\t分割的, 所以item只有一个, 就是整个line. 用split()可以在任何空白处分割.
zxlrock 2016-03-02
  • 打赏
  • 举报
回复
自己摸索修改了一下,可以写入了,可是好像M+1没起作用,所有都写在第一列,没有分列。
zxlrock 2016-03-02
  • 打赏
  • 举报
回复
# -*- coding: utf-8 -*-
"""
Created on Mon Feb 29 11:17:17 2016
@author: Administrator
"""
import xlwt
i = 0
file1 = open("002.txt","r")
file2 = open("out.txt","w")
while True:
    line = file1.readline()
    i += 1
    if 51<=i and i<=66:
        file2.write(line)
    if i >66 :
        break
    if not line:
        break
file1.close()
file2.close()
obj=open("out.txt","r")
wb=xlwt.Workbook()
sheet=wb.add_sheet('shuju')
#
n=0
for line in obj.readlines():
    m=0
    for item in line.split("\t") :
        try:
            item=item.strip().decode('gbk')
        except UnicodeDecodeError:
            print n,m,item
            sheet.write(n,m,"NULL")
        else:
            sheet.write(n,m,item)         
        m=m+1
    n=n+1        
obj.close()
wb.save("out.xls")     
zxlrock 2016-03-02
  • 打赏
  • 举报
回复
索性把栗子中的txt文件贴上来,帮忙看看,上面脚本写的有点乱。 ==================================================================== 一、构件几何材料信息 1. 层号 IST = 1 2. 单元号 IELE= 26 3. 构件种类标志 (KELE): 墙-柱 4. 左节点号 J1 = 325 5. 右节点号 J2 = 327 6. 构件材料信息(Ma): 砼 7. 长度 (m) DL = 6.25 8. 截面类型号 Kind = 1 9. 截面参数 (m) B*H = 0.610*1.400 10. 墙分布筋间距 (mm) SW = 200.0 11. 混凝土强度等级 RC = 55.0 12. 主筋强度 (N/mm2) FYI = 360.0 13. 水平分布筋强度 (N/mm2) FYJH= 360.0 14. 竖向分布筋强度 (N/mm2) FYJV= 360.0 15. 抗震构造措施的抗震等级 NF = 3 16. 内力计算截面数 nSect1= 2 17. 配筋计算截面数 nSect2= 2 18. 第1个计算截面距J1节点的距离 Di = 0.000 19. 第2个计算截面距J1节点的距离 Di = 6.250 * 以下输出信息的单位: * * 轴力和剪力为 kN,弯矩为 kN.m * * 钢筋面积为 mm*mm * 二、标准内力信息 * 荷载工况 = (1)---X方向地震作用下的标准内力 * * 荷载工况 = (2)---X+ 偶然偏心地震力作用下的标准内力 * * 荷载工况 = (3)---X- 偶然偏心地震力作用下的标准内力 * * 荷载工况 = (4)---Y方向地震作用下的标准内力 * * 荷载工况 = (5)---Y+ 偶然偏心地震力作用下的标准内力 * * 荷载工况 = (6)---Y- 偶然偏心地震力作用下的标准内力 * * 荷载工况 = (7)---X向风力的工况号 * * 荷载工况 = (8)---Y向风力的工况号 * * 荷载工况 = (9)---恒载作用下的标准内力 * * 荷载工况 = (10)---活载作用下的标准内力 * * 荷载工况 = (11)--X向风荷载作用下横风向风振的标准内力 * 荷载工况 = (12)--Y向风荷载作用下横风向风振的标准内力 * Axial --- 表示墙-柱底部的轴力 * * SHEAR --- 表示墙-柱底部的剪力 * * MOMENT-BTM(TOP)--- 表示墙-柱底部(顶部)的弯矩 * 荷载工况 Axial SHEAR-X SHEAR-Y MX-BTM MY-BTM MX-TOP MY-TOP (1) 1520.2 -126.6 33.8 -236.4 -70.1 -554.3 -141.4 (2) 642.8 -56.2 32.6 -105.1 -67.6 -246.0 -136.4 (3) 451.0 -51.8 34.5 -96.5 -71.4 -226.8 -144.1 (4) -1734.0 142.9 29.0 266.9 -60.0 625.9 -121.1 (5) -1385.2 110.0 5.6 205.5 -11.7 481.7 -23.5 (6) -1963.5 163.6 5.1 305.6 -10.5 716.6 -21.3 (7) 1053.2 -72.3 42.7 -135.7 -88.5 -315.8 -178.6 (8) -5117.0 359.6 -4.4 671.5 9.0 1574.6 18.3 (9) -6957.2 -12.3 6.0 -21.6 -12.4 -55.0 -25.1 (10) -1829.5 -8.2 6.7 -15.2 -13.8 -35.9 -27.9 (11) -1817.8 126.7 -1.5 236.7 3.2 555.0 6.4 (12) 699.9 -34.3 29.2 -64.5 -60.5 -149.7 -122.1 三、构件设计验算信息 VWCX_X --- X向地震作用下 墙柱X 向剪力占X向结构底部剪力的百分比 VWCY_X --- X向地震作用下 墙柱Y 向剪力占X向结构底部剪力的百分比 VWC_X --- X向地震作用下 墙柱面内剪力占X向结构底部剪力的百分比 VWCX_Y --- Y向地震作用下 墙柱X 向剪力占Y向结构底部剪力的百分比 VWCY_Y --- Y向地震作用下 墙柱Y 向剪力占Y向结构底部剪力的百分比 VWC_Y --- Y向地震作用下 墙柱面内剪力占Y向结构底部剪力的百分比 N-WC= 26 (I= 325 J= 327) B*H*Lwc(m)= 0.61* 1.40* 6.25 aa= 40(mm) Nfw= 3 Rcw= 55.0 Fy= 360. Fyv= 360. Fyw= 360. Rwv= 0.00 RLIVE= 0.60 混凝土墙-柱 加强区 Nu= -9007. Uc= 0.417 ( 15)M= 2291. V= 523. Rmdw= 3.222 ( 19)Mx= -2259. N= 207. Asx= 5042. Asx0= 5042. ( 19)My= -51. N= 207. Asy= 2528. Asy0= 553. ( 19)Vx= -516. N= 207. Ashx= 718.5 Rshx= 0.59 ( 19)Vy= 12. N= 207. Ashy= 718.5 Rshy= 0.26 抗剪承载力: WS_XF = 0.0 WS_YF = 2005.9 剪压比(组合号):JYB( 15)=0.025 ============================================================ 比如需要把txt中红色的那部分提取出来,写到excel文件中,最好能把每列中绝对值最大的在另外提取出来,增加一行为“最不利值” 就最好哦了。

37,720

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧