gpt4 book ai didi

python - 如何从无空格字符串中提取数据?

转载 作者:行者123 更新时间:2023-11-30 22:53:47 27 4
gpt4 key购买 nike

我需要从 BeautifulSoup 中解析的四个字符串中提取数据。他们是:

Arkansas72.21:59 AM76.29:04 AM5.22977.37:59 AM

Ashley71.93:39 AM78.78:59 AM0.53678.78:59 AM

Bradley72.64:49 AM77.28:59 AM2.41877.28:49 AM

Chicot-40.19:04 AM-40.19:04 AM2.573-40.112:09 AM

例如,第一个字符串的数据为 Arkansas、72.1、1:59 AM、76.2、9:04 AM、5.2、29、77.3 和 7:59 AM。有没有简单的方法可以做到这一点?

编辑:完整代码

import urllib2
from bs4 import BeautifulSoup
import time

def scraper():

#Arkansas State Plant Board Weather Web data
url1 = 'http://170.94.200.136/weather/Inversion.aspx'

#opens url and parses HTML into Unicode
page1 = urllib2.urlopen(url1)
soup1 = BeautifulSoup(page1, 'lxml')

#print(soup.get_text()) gives a single Unicode string of relevant data in strings from the url
#Without print(), returns everything in without proper spacing
sp1 = soup1.get_text()

#datasp1 is the chunk with the website data in it so the search for Arkansas doesn't return the header
#everything else finds locations for Unicode strings for first four stations
start1 = sp1.find('Today')
end1 = sp1.find('new Sys.')
datasp1 = sp1[start1:end1-10]

startArkansas = datasp1.find('Arkansas')
startAshley = datasp1.find('Ashley')
dataArkansas = datasp1[startArkansas:startAshley-2]

startBradley = datasp1.find('Bradley')
dataAshley = datasp1[startAshley:startBradley-2]

startChicot = datasp1.find('Chicot')
dataBradley = datasp1[startBradley:startChicot-2]

startCleveland = datasp1.find('Cleveland')
dataChicot = datasp1[startChicot:startCleveland-2]


print(dataArkansas)
print(dataAshley)
print(dataBradley)
print(dataChicot)

最佳答案

只需改进提取表格数据的方式即可。我会使用 pandas.read_html()将其读入数据框,我很确定,您会发现使用它很方便:

import pandas as pd

df = pd.read_html("http://170.94.200.136/weather/Inversion.aspx", attrs={"id": "MainContent_GridView1"})[0]
print(df)

关于python - 如何从无空格字符串中提取数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38079727/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com