当循环找到特定的字符串序列时创建一个新索引

汤匙

我有一个汽车规格的字符串清单。但是,将不同的修剪粉碎在一起,我希望代码以年份为指标自动将它们分开。它必须精确地是4位数字或在值的范围内,因为有3位数字值和5位数字值,但年份始终为4。我需要告诉什么代码来寻找要创建的4位代码换一行,然后继续循环?

这是代码:

import re
import requests
import csv
from bs4 import BeautifulSoup
import pandas as pd
import numpy as np

# headers = {
#    'User-Agent': 'Mewspoon',
#    'From': '[email protected]'
#}

URL = requests.get('https://www.caranddriver.com/reviews/a24847025/2018-
ford-mustang-automatic-transmission-performance/')

soup = BeautifulSoup(URL.text, 'html.parser')

for tag in soup.find_all(class_="specs-content"):
    DataList=pd.DataFrame(tag.get_text(strip=True, separator="\n").split())

    #create file
df.to_excel('CarScrapeTest.xlsx', sheet_name='Car&Driver')
    
#File Format
df = pd.DataFrame(DataList).transpose()
亚瑟·佩雷拉(Arthur Pereira)

回答您的问题,您可以re.match(r'.*([1-3][0-9]{3})', text)用来检查有效年份。并且如果它匹配,您将开始在注释数据帧上进行写入。

我还注意到您正在尝试获取汽车规格,因此我编写了一个litle循环,可用于将信息添加到数据框,然后将其写入csv。我使用:标记分隔属性和值,然后将其串联在df上。
干杯。

import requests
from bs4 import BeautifulSoup
import pandas as pd
import re

URL = requests.get('https://www.caranddriver.com/reviews/a24847025/2018-ford-mustang-automatic-transmission-performance/')

soup = BeautifulSoup(URL.text, 'html.parser')
specifications = soup.find(class_="specs-content")

cars_specs = dict()
df = pd.DataFrame()

for paragraph in specifications.find_all('p'):
    paragraph_text = paragraph.get_text(strip=True, separator="\n").strip()

    if paragraph_text == "Specifications":
        continue

    year = re.match(r'.*([1-3][0-9]{3})', paragraph_text)
    if year:
        if len(cars_specs) > 1:
            new_df = pd.DataFrame.from_dict(cars_specs, orient='index')
            df = pd.concat([df, new_df], axis=1, sort=False)

        cars_specs = {'Car': paragraph_text}

    else:
        specs = paragraph_text.split('\n')
        for index in range(len(specs) - 1):

            if specs[index].find(':') == len(specs[index]) - 1:
                cars_specs[specs[index].replace(':','')] = specs[index + 1]
            elif specs[index].find(':') > 1:
                inline_specs = specs[index].split(':')
                cars_specs[inline_specs[0]] = inline_specs[1]

else:
    new_df = pd.DataFrame.from_dict(cars_specs, orient='index')
    df = pd.concat([df, new_df], axis=1, sort=False)

print(df)
df.to_csv('CarScrapeTest.csv', encoding='utf-8', header=False, sep=';')

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在索引之后找到字符串的第一个索引

来自分类Dev

如何解析json但将一个特定节点序列化为字符串?

来自分类Dev

不仅找到字符串中子字符串的第一个索引-python 2.7

来自分类Dev

在特定行c#上找到另一个后添加字符串

来自分类Dev

如何通过更改其中的一个特定字段来创建新的json字符串?

来自分类Dev

根据数组的索引创建一个字符串

来自分类Dev

如何找到字符串中的最后一个字母并获取其索引?

来自分类Dev

在字符串中找到特定字符后,如何创建一个插入字符的循环?

来自分类Dev

匹配两个熊猫系列:如何从另一个系列的一个序列中查找字符串元素,然后创建一个新列

来自分类Dev

从字符串数组或列表C#中找到第一个匹配字符串的索引

来自分类Dev

根据一组字符串条件创建一个新列

来自分类Dev

根据另一列的字符串创建一个新列

来自分类Dev

从char数组创建一个新的字符串

来自分类Dev

循环一次在一个字符中创建字符串

来自分类Dev

在PHP中循环时缺少最后一个字符串字符

来自分类Dev

mysql查询和while循环创建一个特殊的字符串

来自分类Dev

为另一个字符串的子字符串创建一个新的字符串是否多余?

来自分类Dev

如何尽快找到另一个字符串中的特定字符串?

来自分类Dev

如何找到字符串中第一个元音的索引?

来自分类Dev

我想创建一个可以在字符串中找到空格的循环,然后对字符串进行处理

来自分类Dev

仅在字符串的特定位置找到一个匹配项

来自分类Dev

如何在两个特定字符串之间找到一个数字?

来自分类Dev

迭代一个目录并只找到名称以特定字符串开头的文件

来自分类Dev

如何找到一个包含特定字符串和最大数字的对象?

来自分类Dev

如何在for循环中从字符串中获取最后一个索引

来自分类Dev

从另一个创建一个新的字符串数组

来自分类Dev

如何返回在另一个字符串中找到的字符串的索引?

来自分类Dev

从特定索引处的另一个文件中删除包含字符串的行

来自分类Dev

如何创建一个接受字符和字符串并返回该字符在字符串中的索引的函数

Related 相关文章

  1. 1

    在索引之后找到字符串的第一个索引

  2. 2

    如何解析json但将一个特定节点序列化为字符串?

  3. 3

    不仅找到字符串中子字符串的第一个索引-python 2.7

  4. 4

    在特定行c#上找到另一个后添加字符串

  5. 5

    如何通过更改其中的一个特定字段来创建新的json字符串?

  6. 6

    根据数组的索引创建一个字符串

  7. 7

    如何找到字符串中的最后一个字母并获取其索引?

  8. 8

    在字符串中找到特定字符后,如何创建一个插入字符的循环?

  9. 9

    匹配两个熊猫系列:如何从另一个系列的一个序列中查找字符串元素,然后创建一个新列

  10. 10

    从字符串数组或列表C#中找到第一个匹配字符串的索引

  11. 11

    根据一组字符串条件创建一个新列

  12. 12

    根据另一列的字符串创建一个新列

  13. 13

    从char数组创建一个新的字符串

  14. 14

    循环一次在一个字符中创建字符串

  15. 15

    在PHP中循环时缺少最后一个字符串字符

  16. 16

    mysql查询和while循环创建一个特殊的字符串

  17. 17

    为另一个字符串的子字符串创建一个新的字符串是否多余?

  18. 18

    如何尽快找到另一个字符串中的特定字符串?

  19. 19

    如何找到字符串中第一个元音的索引?

  20. 20

    我想创建一个可以在字符串中找到空格的循环,然后对字符串进行处理

  21. 21

    仅在字符串的特定位置找到一个匹配项

  22. 22

    如何在两个特定字符串之间找到一个数字?

  23. 23

    迭代一个目录并只找到名称以特定字符串开头的文件

  24. 24

    如何找到一个包含特定字符串和最大数字的对象?

  25. 25

    如何在for循环中从字符串中获取最后一个索引

  26. 26

    从另一个创建一个新的字符串数组

  27. 27

    如何返回在另一个字符串中找到的字符串的索引?

  28. 28

    从特定索引处的另一个文件中删除包含字符串的行

  29. 29

    如何创建一个接受字符和字符串并返回该字符在字符串中的索引的函数

热门标签

归档