【发布时间】:2015-08-09 01:34:24
【问题描述】:
我有一个关于使用 Python 在 for 循环中从文本文件中打印数据的问题。每当我尝试运行这个程序时,它会显示“无法将字符串转换为浮点数:KAAA”(KAAA 是元素 [2] 中的字符串元素)。我正在尝试将数据从带有制表符分隔符的文本文件传输到带有逗号分隔符的文本文件。出于某种原因,如果我删除第三列字符串,该程序可以正常工作,但是当我将其重新添加时不会。有没有办法可以让所有三列都传输到用逗号分隔的文本文件中他们?这是数据中的示例行。 “40.15869904 -89.33499908 KAAA。”
cj = CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor)
opener.addheaders = [('User-agent','mr_anderson')]
keywords = map(''.join, product(ascii_lowercase, repeat=3))
keywords = ["k"+a+b+c for a,b,c in product(ascii_lowercase, repeat=3)]
start_time = time.time()
print("--- %s seconds ---" % (time.time() - start_time))
try:
a = 1
b = 1
List=[""]
data = np.loadtxt("airportcodelatlonidentonlyk.txt")
text_file_latlonair = open("latlontext.txt","a")
for element in data:
lat = str(element[0])
lon = str(element[1])
ident = str(element[2])
text_file_latlonair.write(str(lat)+','+str(lon)+','+str(ident))
text_file = open("nws_contourcurrenttemp_datatwo.txt","a")
for i in range (1,50):
i=1
i+=1
a+=1
b+=1
keywargs = str(keywords[a]).upper()
argument = 'http://w1.weather.gov/xml/current_obs/'+keywargs+'.rss'
page = 'http://w1.weather.gov/xml/current_obs/KBED.rss'
sourceCode = opener.open(page).read()
#print(sourceCode)
req = Request(argument)
try:
page_open = urlopen(req)
except:
None
else:
c=1
c+=1
sourceCode = opener.open(argument).read()
KBEDforecastraw = re.findall(r'and\s\d{1,2}\s\w.*?',str(sourceCode))
windraw = re.findall(r'at\s\d{1,2}\.\d{0,1}.*?',str(sourceCode))
pressureraw = re.findall(r'The pressure is\s\d{1,4}\.\d{0,1}\s\w\w.*?',str(sourceCode))
humidraw = re.findall(r'the humidity is\s\d{1,2}\%.*?',str(sourceCode))
try:
KBEDtemp = KBEDforecastraw[0]
KBED = str(KBEDtemp).strip("[and F]")
#text_file.write(KBEDtemp)
except:
None
else:
text_file.write(KBED+'\n')
#print(KBED)
#print(str(KBEDforecastraw)+' '+keywargs+str(windraw)+str(pressureraw)+str(humidraw))
except Exception, e:
print(str(e))
print("--- %s seconds ---" % (time.time() - start_time))
【问题讨论】:
标签: python string python-2.7 text-files