亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

python爬蟲怎樣進行數據清洗

小樊
90
2024-11-16 10:49:39
欄目: 編程語言

在Python中進行網頁爬取后,通常需要對獲取到的數據進行清洗,以確保數據的準確性和可用性。以下是一些常見的數據清洗步驟和技巧:

1. 去除HTML標簽

使用BeautifulSouplxml庫可以方便地去除HTML標簽。

from bs4 import BeautifulSoup

html = """
<html>
<head><title>Example Page</title></head>
<body>
    <h1>Welcome to Example Page</h1>
    <p class="content">This is an example paragraph.</p>
</body>
</html>
"""

soup = BeautifulSoup(html, 'html.parser')
text = soup.get_text()
print(text)

2. 去除特殊字符和多余空格

使用正則表達式可以去除特殊字符和多余的空格。

import re

text = "This is an example paragraph.  \n\t\r"
cleaned_text = re.sub(r'\s+', ' ', text).strip()
print(cleaned_text)

3. 分割文本

如果數據是以某種分隔符分隔的,可以使用split方法進行分割。

text = "apple,banana,orange"
fruits = text.split(',')
print(fruits)

4. 去除空值

使用列表推導式或filter函數可以去除空值。

data = ["apple", "", "banana", None, "orange"]
filtered_data = [item for item in data if item]
print(filtered_data)

5. 數據類型轉換

將字符串轉換為合適的數據類型,如整數、浮點數等。

data = ["1", "2.5", "three"]
numbers = [float(item) if item.isdigit() else None for item in data]
print(numbers)

6. 正則表達式匹配和提取

使用正則表達式可以提取特定的數據。

import re

text = "The price of the item is $10.99."
price = re.search(r'\$(\d+\.\d{2})', text).group(1)
print(price)

7. 數據標準化

將數據轉換為統一的格式,如統一大小寫、去除多余符號等。

data = ["Apple", "banana", "  ORANGE  "]
normalized_data = [item.strip().title() for item in data]
print(normalized_data)

8. 使用Pandas進行數據清洗

pandas庫提供了強大的數據清洗功能。

import pandas as pd

data = {
    "Name": ["John", "  Jane  ", "Doe"],
    "Age": ["25", "30", None],
    "City": ["New York", "Los Angeles", "Chicago"]
}
df = pd.DataFrame(data)

# 去除空值
df = df.dropna()

# 轉換數據類型
df['Age'] = df['Age'].astype(int)

print(df)

9. 使用Numpy進行數值計算

numpy庫可以進行高效的數值計算和數組操作。

import numpy as np

data = np.array(["1", "2.5", "three"])
numeric_data = np.array([float(item) if item.isdigit() else np.nan for item in data])
print(numeric_data)

通過這些步驟和技巧,可以有效地清洗爬取到的數據,確保其質量和可用性。

0
巫溪县| 鸡东县| 高陵县| 洛扎县| 克拉玛依市| 绥化市| 竹北市| 砚山县| 清流县| 磴口县| 澄江县| 垦利县| 凯里市| 神农架林区| 镇赉县| 瑞昌市| 宾川县| 抚顺县| 德江县| 精河县| 大庆市| 平度市| 田阳县| 永宁县| 丰原市| 当涂县| 宜丰县| 宿迁市| 西峡县| 开化县| 三原县| 云和县| 阿巴嘎旗| 南汇区| 上犹县| 巢湖市| 阿荣旗| 乌审旗| 奎屯市| 夏津县| 苏尼特右旗|