我是新来的StackOverflow用户,但我在这个网站上找到了很多答案。我也是一个编程新手,所以我想加入并最终成为这个社区的一部分——从一个问题开始,这个问题已经困扰了我几个小时。
我登录到一个网站,并抓取b标签内的大段文本,将其转换为适当的表格。生成的Output.txt的布局如下:
BIN STATUS
8FHA9D8H 82HG9F RECEIVED SUCCESSFULLY AWAITING STOCKING PROCESS
INVENTORY CODE: FPBC *SOUP CANS LENTILS
BIN STATUS
HA8DHW2H HD0138 RECEIVED SUCCESSFULLY AWAITING STOCKING PROCESS
8SHDNADU 00A123 #2956- INVALID STOCK COUPON CODE (MISSING).
93827548 096DBR RECEIVED SUCCESSFULLY AWAITING STOCKING PROCESS
有许多页面都包含相同的区块,但我需要将它们组合成一个实际的表格,如下所示:
BIN INV CODE STATUS
HA8DHW2HHD0138 FPBC-*SOUP CANS LENTILS RECEIVED SUCCESSFULLY AWAITING STOCKING PROCESS
8SHDNADU00A123 FPBC-*SOUP CANS LENTILS #2956- INVALID STOCK COUPON CODE (MISSING).
93827548096DBR FPBC-*SOUP CANS LENTILS RECEIVED SUCCESSFULLY AWAITING STOCKING PROCESS
8FHA9D8H82HG9F SSXR-98-20LM NM CORN CREAM RECEIVED SUCCESSFULLY AWAITING STOCKING PROCESS
基本上,这个例子中所有的单独文本块都将成为这个表格的一部分,并且inv代码将重复显示其Bin值。我尝试过解析这些数据(使用了Pandas / bs / openpyxl / csv writer),但我不得不承认它们有点令人尴尬,因为我找不到任何关于这个特定问题的信息。还有没有好心人可以帮帮我? :)
(另外,我正在使用Python 2.7)
for
块中添加l.strip()
作为第一行应该可以解决问题。基本上,像这样的自定义解析器需要识别数据中可靠的模式。如果OP数据示例不完整,则只有您可以查看足够的数据以识别必要的模式。 - Craig Burgler