Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用文本文件的Python_Python_Text_Python 3.x - Fatal编程技术网

使用文本文件的Python

使用文本文件的Python,python,text,python-3.x,Python,Text,Python 3.x,我正在使用python33,希望从包含单词和数字的文本文件中获取一个数字字符串(下面的复制/粘贴txt文件中的第30行)。捕获所需的数字后,我希望使用一个等式(即(number-30)/2)将其转换,然后找到它们的平均值并将其写入一个新文件(例如Scope22.txt或csv)。我有许多单独的文件,这是第一个必须进行类似处理的文件,每个平均值都将写入同一个文件(Scope22.txt或csv)。随附文件包含concersn的编号(0.0、66.0、70.0、0.0、0.0、81.0、64.0、0

我正在使用python33,希望从包含单词和数字的文本文件中获取一个数字字符串(下面的复制/粘贴txt文件中的第30行)。捕获所需的数字后,我希望使用一个等式(即(number-30)/2)将其转换,然后找到它们的平均值并将其写入一个新文件(例如Scope22.txt或csv)。我有许多单独的文件,这是第一个必须进行类似处理的文件,每个平均值都将写入同一个文件(Scope22.txt或csv)。随附文件包含concersn的编号(0.0、66.0、70.0、0.0、0.0、81.0、64.0、0.0、76.0)…将它们转换为((数字-30)/2),然后找到它们的平均值。
我真诚地感谢你的帮助

my.txt:

MinorType Scope ValidTime 201012132300 Range 536 Theta 48 ID SIT Name SITE LatCentre 23.45459 LonCentre -22.766379 Resolution1 1.0 Resolution1 1.0 Height1 11.0 Height3 600.0 Data index InputFileType AAA,0,1,PPTOA MinorProductParameters SCOPe,,BBBBBBB,KKKKK_LIST_SIT,0,0,1,1 TableLabels_Locations ID Name Valid Lat Lon Range Theta BBN Yyy TableStart_SiteLocations "LLL", "QQQQ_WWWWW", 1, 23.45459,-22.766379, 536.11,48.14, 55,22; TableEnd_SiteLocations TableLabels_TableInfoSites ID Lat Lon Range Theta BMHT PNTVlU Min Max Avg Median P95 AbsDev Var Sd Skew Curt TableStart_TableInfoSites LLL, 23.45459,-22.766379, 536.11,48.14, -1.00, 0.00, 0.00, 81.00, 39.67, 64.00, 0.00, 35.26,1.44e+03, 37.96, -0.14, -2.13; TableEnd_TableInfoSites TableLabels_TableDis Dis M TableStart_TableDis LLL, 4,200,190,180,170,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,1,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,; TableEnd_TableDis TableLabels_TableData Values_M TableStart_TableData LLL, 0.0, 66.0, 70.0, 0.0, 0.0, 81.0, 64.0, 0.0, 76.0,; TableEnd_TableData 小型示波器 有效时间201012132300 范围536 西塔48 我坐 名称站点 拉特中心23.45459 伦敦中心-22.766379 决议1.0 决议1.0 高度11.0 高度3600.0 数据索引 输入文件类型AAA,0,1,PPTOA MinorProductParameters作用域,bbbbb,kkkk列表,0,0,1,1 TableLabels\u位置ID名称有效纬度范围θBBN Yyy 表开始位置 “LLL”,“qqq_WWWWW”,1,23.45459,-22.766379,536.11,48.14,55,22; TableEnd_站点位置 TableLabels\u TableInfoSites ID纬度范围θBMHT PNTVlU最小最大平均值P95 AbsDev Var Sd歪斜曲线 TableStart\u TableInfoSites 微升,23.45459,-22.766379536.11,48.14,-1.00,0.00,0.00,81.00,39.67,64.00,0.00,35.26,1.44e+03,37.96,-0.14,2.13; TableEnd_TableInfoSites 表格标签 TableStart\u TableDis LLL, 4,200,190,180,170,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,1,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,; tablend_TableDis 表格标签\u表格数据值\u M TableStart\u TableData 微升,0.0,66.0,70.0,0.0,0.0,81.0,64.0,0.0,76.0,; TableEnd_TableData 这是我的密码:

STATS11_filename='C:/Python33/STATS11.txt'
STATS11_filename=open(STATS11_filename,'r')
line=STATS11_filename.readline()
line=STATS11_filename.readline()
line=STATS11_filename.readline()
line=STATS11_filename.readline()
line=STATS11_filename.readline() 
line=STATS11_filename.readline()
line=STATS11_filename.readline()
line=STATS11_filename.readline()
line=STATS11_filename.readline()
line=STATS11_filename.readline()
line=STATS11_filename.readline()
line=STATS11_filename.readline()
line=STATS11_filename.readline()
line=STATS11_filename.readline()
line=STATS11_filename.readline()
line=STATS11_filename.readline()
line=STATS11_filename.readline()
line=STATS11_filename.readline()
line=STATS11_filename.readline()
line=STATS11_filename.readline()
line=STATS11_filename.readline()
line=STATS11_filename.readline()
line=STATS11_filename.readline()
line=STATS11_filename.readline()
line=STATS11_filename.readline() 
line=STATS11_filename.readline()
line=STATS11_filename.readline()
line=STATS11_filename.readline()    
line=STATS11_filename.readline()
b=line=STATS11_filename.readline()
d=(str(b[7:-3]))
print(len(b[7:-3]))
STATS11_filename.close()
a=7
Scope22_filename='C:/Python33/Scope22.txt'
Scope22_filename=open(Scope22_filename,'w')
for i in range (len(b[7:-3])):
    if (b[a])>='64' or (b[a])<='254':
        Scope22_filename.write(b[a])       
             if a==53:
                 quit
             else:
                 a=a+2
Scope22_filename.close()
STATS11\u filename='C:/Python33/STATS11.txt'
STATS11_文件名=打开(STATS11_文件名,'r')
line=STATS11_filename.readline()
line=STATS11_filename.readline()
line=STATS11_filename.readline()
line=STATS11_filename.readline()
line=STATS11_filename.readline()
line=STATS11_filename.readline()
line=STATS11_filename.readline()
line=STATS11_filename.readline()
line=STATS11_filename.readline()
line=STATS11_filename.readline()
line=STATS11_filename.readline()
line=STATS11_filename.readline()
line=STATS11_filename.readline()
line=STATS11_filename.readline()
line=STATS11_filename.readline()
line=STATS11_filename.readline()
line=STATS11_filename.readline()
line=STATS11_filename.readline()
line=STATS11_filename.readline()
line=STATS11_filename.readline()
line=STATS11_filename.readline()
line=STATS11_filename.readline()
line=STATS11_filename.readline()
line=STATS11_filename.readline()
line=STATS11_filename.readline()
line=STATS11_filename.readline()
line=STATS11_filename.readline()
line=STATS11_filename.readline()
line=STATS11_filename.readline()
b=line=STATS11_filename.readline()
d=(str(b[7:-3]))
打印(len(b[7:-3]))
STATS11_filename.close()
a=7
Scope22\u filename='C:/Python33/Scope22.txt'
Scope22\u文件名=打开(Scope22\u文件名,“w”)
对于范围内的i(len(b[7:-3]):

如果(b[a])>='64'或(b[a])您的变量b是一个字符串(b等于“0.0、66.0、70.0、0.0、81.0、64.0、0.0、76.”在您的示例中)并且变量a是一个int(a等于7),那么b[a]将只引用一个字符,这不能是'64'(两个字符长)


我想你想做的是得到一个像这样的切片
如果float(b[a:a+3])>=64或float(b[a:a+3]),看起来你想让我们为你写代码。事实并非如此。你发布了你试图做的事情,我们会帮你发现其中的问题。这不是故意的。我已将代码添加到主要问题中。我可以在屏幕上打印这些数字,但不能按照我的要求将它们写入文件中。我尝试了str,但没有成功。
b = list(map(lambda n: (float(n)-30)/2, b.split(","))
b = sum(b)/len(b)