繁体   English   中英

如何将非结构化字符串转换为 dataframe?

[英]How can I convert an unstructured string to a dataframe?

我有一个长字符串文本,我想将其转换为 dataframe 进行分析。 请参阅下面的数据示例。 我希望这些列是“设施”、“街道”、“城市”、“电话”和“商店营业时间”。

string = AlaskaUSCG Base Ketchikan 1300 Stedman Street  Ketchikan, AK  (907) 228-0250 Mon-Fri 7:30am-5pm | Sat 10am-4pm | Closed Sunday USCG Base Kodiak Albatros Avenue, Building 26 (2nd Floor)  Kodiak, AK  (907) 487-5773 USCG Base Kodiak Albatros Avenue, Building 26 (1st Floor)  Kodiak, AK  (907) 487-5773 Mon-Fri: 7am-9pm | Sat: 9am-9pm |

我使用 StringIO 将其转换为 dataframe 但它将其转换为具有 0 行和 1000 列的 dataframe。 相反,我想要我上面提到的列和每个商店的行。

我希望它看起来像这样,数据填充为行:

Facility                    Street               City           Phone   
Alaska USCG Base Ketchikan  1300 Stedman Street  Ketchikan, AK  (907) 228 0250

您可以使用简单的网络抓取技术,例如bs4requests

import bs4 

r = requests.get(URL)
b = bs4.BeautifulSoup(r.text)

addresses = []

for val in b.find_all(name='p'):
  s = list(val.stripped_strings)
  if s and not s[0].startswith('HOURS'): addresses.append(' '.join(s[:-1]))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM