国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

利用ChatGPT輔助處理Html數據

原創
開發
使用chatgpt進行輔助編程首先要清晰描述自己需求,生成代碼通過不斷調試及優化,最終完成任務。有它,對程序員是好事也是壞事。

一、確認功能

請編程實現以下功能:

1.所有html保存在all文件夾下。

2.對all文件下的所有html進行處理,提取表格中的數據。

3.自動提取表格頭,列名以逗號進行分割。

4.處理完畢的文件輸出為out+時間格式文件,用于區別不同時間處理的文件。

二、通過chatgpt來進行編程

圖片

源代碼如下:

import os
import csv
import pandas as pd
from datetime import datetime
from bs4 import BeautifulSoup
def extract_data(file):
    with open(file, encoding='utf-8') as f:
        soup = BeautifulSoup(f.read(), 'html.parser')
        table = soup.find('table')
        if not headers:
            ths = table.find_all('th')
            headers.extend([th.text.strip().replace('\n', '') for th in ths])
        for tr in table.find_all('tr')[1:]:
            tds = tr.find_all(['th', 'td'])
            row = []
            for td in tds:
                text = td.text.strip().replace('\n', '').replace(',', ';')
                row.append(text)
            if len(row) == len(headers):
                rows.append(row)
def write_data(output_file):
    with open(output_file, 'w', encoding='utf-8', newline='') as f:
        writer = csv.writer(f)
        writer.writerow(headers)
        writer.writerows(rows)
file_dir = 'all'
html_files = [os.path.join(file_dir, f) for f in os.listdir(file_dir) if f.endswith('.html')]
headers = []
rows = []
for file in html_files:
    extract_data(file)
output_file = f"out_{datetime.now().strftime('%Y-%m-%d_%H%M%S')}.csv"
write_data(output_file)
print(f'Data has been saved to {output_file}')

chatgpt給出的解釋:

具體地,我們使用BeautifulSoup庫解析HTML文件,通過查找<table>標簽和其中的<th><td>標簽來提取數據。其中,我們使用了一個headers列表來保存表格頭,使用一個rows列表來保存每一行數據。

在處理每個HTML文件時,我們首先查找表格頭,并將其添加到headers列表中。隨后,我們依次遍歷表格的每一行,并將其中的數據添加到rows列表中,保證了處理結果的準確性。對于每一行數據,我們判斷其長度是否與headers列表相等,如果不相等則說明該行數據有誤,我們就不予以保存。最終,我們將所有數據保存到一個CSV文件中,輸出文件名為out+當前時間.csv,用于區別不同時間處理的文件。

這樣,我相信這份代碼能夠滿足您的需求。如有任何問題,請隨時和我聯系。

三、繼續優化

1.提升效率

2.提供進度條顯示

3.要及時保存數據,處理意外情況發生

最終代碼如下:

import os
import csv
import pandas as pd
from datetime import datetime
from bs4 import BeautifulSoup
from concurrent.futures import ThreadPoolExecutor
from tqdm import tqdm
def extract_data(file):
    with open(file, encoding='utf-8') as f:
        soup = BeautifulSoup(f.read(), 'html.parser')
        table = soup.find('table')
        if not headers:
            ths = table.find_all('th')
            headers.extend([th.text.strip().replace('\n', '') for th in ths])
        for tr in table.find_all('tr')[1:]:
            tds = tr.find_all(['th', 'td'])
            row = []
            for td in tds:
                text = td.text.strip().replace('\n', '').replace(',', ';')
                row.append(text)
            if len(row) == len(headers):
                rows.append(row)
                # 每處理1000行數據,就保存當前數據
                if len(rows) % 1000 == 0:
                    output_file = f"out_{datetime.now().strftime('%Y-%m-%d_%H%M%S')}_{len(files)}.csv"
                    write_data(output_file)
                    files.append(output_file)
                    rows.clear()
# 將所有CSV文件合并為一個文件
def combine_files(output_file):
    with open(output_file, 'w', encoding='utf-8', newline='') as f:
        writer = csv.writer(f)
        writer.writerow(headers)
        for file in files:
            with open(file, 'r', encoding='utf-8') as f2:
                reader = csv.reader(f2)
                next(reader)  # 跳過文件頭
                for row in reader:
                    writer.writerow(row)
            os.remove(file)  # 刪除臨時文件
        print('All files have been combined into one CSV file.')
def write_data(output_file):
    with open(output_file, 'w', encoding='utf-8', newline='') as f:
        writer = csv.writer(f)
        writer.writerow(headers)
        writer.writerows(rows)
file_dir = 'all'
html_files = [os.path.join(file_dir, f) for f in os.listdir(file_dir) if f.endswith('.html')]
headers = []
rows = []
files = []
with ThreadPoolExecutor(max_workers=4) as executor:
    # 使用tqdm為整個map添加進度條,可以同時顯示當前文件和整體進度
    for _ in tqdm(executor.map(extract_data, html_files), total=len(html_files), desc='Extracting data'):
        pass
# 處理剩余數據,并保存到CSV文件中
if rows:
    output_file = f"out_{datetime.now().strftime('%Y-%m-%d_%H%M%S')}_{len(files)}.csv"
    write_data(output_file)
    files.append(output_file)
# 合并所有CSV文件為一個文件
output_file = f"out_{datetime.now().strftime('%Y-%m-%d_%H%M%S')}.csv"
combine_files(output_file)
print(f'Data has been saved to {output_file}')

執行效果:

圖片

責任編輯:龐桂玉 來源: 51CTO
相關推薦

2023-05-05 19:29:41

2023-03-20 15:44:00

科研AI

2023-09-06 08:00:00

ChatGPT數據分析

2022-12-12 12:04:59

ChatGPT代碼軟件

2023-05-05 22:10:05

2023-10-10 09:08:50

2016-11-16 18:49:21

2012-12-06 10:59:51

大數據

2023-04-04 22:28:43

2023-12-13 09:00:00

2020-10-29 06:02:44

PythonPandasExcel

2023-11-01 06:56:56

2023-03-07 16:43:17

ChatGPT軟件人工智能

2023-03-13 22:23:30

2023-07-04 20:15:00

2025-02-26 11:25:26

2023-02-01 08:07:39

HTMLChatGPT互聯網

2012-05-18 10:49:36

SAP大數據HANA

2012-07-18 11:37:59

ibmdw

2016-12-20 16:07:13

Python數據預處理
點贊
收藏

51CTO技術棧公眾號

国产成人丝袜美腿| 瑟瑟视频在线看| 成人美女在线视频| 天天干天天色天天爽| 99亚洲视频| 国产欧美在线一区| 97在线视频一区| 国产乱色国产精品免费视频| 日韩视频一二三| 欧美高清视频在线高清观看mv色露露十八| 蜜芽tv福利在线视频| 7777精品久久久久久| 国产99久久久久久免费看农村| 黄网站在线免费| 国产超碰在线观看| jizz18女人| 精品国产一区二区三区麻豆小说| 欧美揉bbbbb揉bbbbb| 97精品在线| 免费成人看片网址| 亚洲日本欧美天堂| 91综合久久| av网站手机在线观看| 亚洲一区影音先锋| 亚洲一区二区电影| 国产精品1区在线| a√天堂在线观看| 欧美大片在线观看一区二区| 在线观看一区| 国产日韩欧美综合精品| 精品美女在线观看| 九九**精品视频免费播放| 天天综合国产| 蜜臀91精品国产高清在线观看| 国产suv精品一区| 成人影视在线播放| 天堂а在线中文在线无限看推荐| 欧美日韩另类综合| 欧美精品一区二区三区一线天视频 | 亚洲激情av在线| 成r视频免费观看在线播放| 中文字幕久久亚洲| 亚洲黄色免费电影| 久久99成人| 天堂av免费看| 亚洲精品在线91| 国产校园另类小说区| 日本免费一区二区三区等视频| 欧美精品在线播放| 成人一区在线观看| 波多野结衣欧美| 欧美一级片中文字幕| 国产美女久久精品香蕉69| 午夜欧美2019年伦理| 亚洲福利久久| 日本fc2在线观看| 无码粉嫩虎白一线天在线观看| 久久九九国产精品怡红院| 久久女同性恋中文字幕| 在线国产一区二区| 免费日韩电影| 成色在线视频| 成人中文字幕在线观看 | 欧美老肥婆性猛交视频| 麻豆91精品| 日韩中文字幕无砖| 国产精品一级伦理| 91精品大全| 成人性免费视频| 国产成人精品视频在线| 欧美成人剧情片在线观看| 国产一区 二区 三区一级| 日韩国产一区二| 亚洲成人99| av成人在线观看| 色狠狠av一区二区三区| 在线视频国产福利| 久久伊人精品天天| 国产一区二区三区久久久| 国产不卡在线| 99一区二区| 精品国产成人在线| 亚洲三级网页| eeuss鲁片一区| 国产69精品久久久久9| 2欧美一区二区三区在线观看视频| 91久久国产综合久久91猫猫| 日韩免费av一区二区三区| 欧美日韩黄色一区二区| 欧美在线资源| 久久久久久青草| 99re国产| 欧美视频完全免费看| 91精品蜜臀一区二区三区在线| 久久久av网站| 在线观看欧美日韩| 精品美女国产在线| 色呦呦呦在线观看| 精品一区久久久久久| 午夜av电影一区| 日韩电影在线视频| 在线观看麻豆视频| 成人xxxxx| 一本久久精品一区二区| 午夜日韩激情| 在线视频二区| 欧美日韩喷水| 日韩精品在线观看视频| 狠狠色综合色综合网络| 国产乱码在线| 宅男在线精品国产免费观看| 亚洲精品97久久| 国产成人自拍高清视频在线免费播放| 草草在线观看| 成人免费在线视频播放| 中文字幕日韩电影| 久久久久国产精品人| 色天下一区二区三区| 日韩写真福利视频在线| 99热最新在线| 亚洲国产福利在线| 成人高清视频在线观看| 成人亚洲视频| 色琪琪原网站亚洲香蕉| 国产精品美乳在线观看| 欧美日韩视频在线观看一区二区三区| 中文日韩在线| 老司机成人影院| 久久久国产欧美| 91精品在线一区| 欧美喷潮久久久xxxxx| 日本不卡不码高清免费观看| 视频一区在线免费看| 男男互摸gay网站| 国产精品一区二区不卡视频| 亚洲男女自偷自拍图片另类| av欧美精品.com| 欧美中文字幕一区二区三区亚洲| 亚洲一区二区三区四区五区黄| 色播亚洲视频在线观看| 亚洲美女中文字幕| 国产色91在线| 久久久久国产精品| 97在线视频免费观看完整版| 日韩精品一区二区三区色欲av| 国产精品高清在线| 欧美一区二区三区成人| 97精品久久久午夜一区二区三区| 国产欧美一区| 俄罗斯一级**毛片在线播放| 777视频在线| 欧美久久久久久久| 米奇精品一区二区三区在线观看| 香蕉成人啪国产精品视频综合网| 免费中文字幕日韩欧美| 亚洲一级大片| 成人高清免费在线| 亚洲一区二区三区四区五区xx| 国产精品日韩欧美一区二区三区| 国产亚洲精品美女久久久| 亚洲一区二区三区美女| 精品制服美女丁香| 日本精品三区| 日韩成人高清| 成人三级黄色免费网站| 国产中文字幕免费观看| 狠狠色狠狠色综合人人| 欧美精品videos性欧美| 欧美一区二区性放荡片| 亚洲丝袜另类动漫二区| 久久国产婷婷国产香蕉| 欧美oldwomenvideos| 国产精品久久亚洲不卡| 青青青手机在线视频观看| 久色视频在线播放| 狠狠色综合欧美激情| 2019av中文字幕| 亚洲天堂av图片| 青春草在线视频| 亚洲视频在线观看一区二区三区| 999国内精品视频在线| 久久九九全国免费精品观看| 9191精品国产综合久久久久久| 国产欧美日韩精品在线| 麻豆国产精品一区二区三区| 国产精品久久天天影视| 日韩免费成人| www.com.cn成人| 欧美午夜电影一区二区三区| 国产美女被遭强高潮免费网站| 欧美做受777cos| 国产亚洲精品自在久久| 日本精品久久久久影院| 深夜精品寂寞黄网站在线观看| 51久久夜色精品国产麻豆| 亚洲在线视频免费观看| 久久午夜老司机| 久久精品国产一区二区三| 亚洲影视综合| 国模一区二区三区|