cuốn sách gpt4 ai đã làm

BeautifulSoup - Các dòng trống trong đầu ra gây ra sự vô dụng kỳ lạ

In lại Tác giả: Vũ trụ không gian Thời gian cập nhật: 2023-11-04 06:23:15 28 4
mua khóa gpt4 Nike

Một vấn đề nhỏ dành cho bạn :-)

Tôi đang sử dụng BeautifulSoup để phân tích nội dung của bảng trong trang HTML. Vấn đề là giữa mỗi dòng trong tệp đầu ra của tôi (CSV/EXCEL), nó kéo ra một dòng trống... Đây là ví dụ về bảng HTML (rất lớn)

Tesco - Vương quốc Anh  
CO
Không xác định  
cười lớn


Tesco - Vương quốc Anh  
CO
Không xác định  
cười lớn


Mỗi bạn đều có điều này:


Vì vậy, nó đặt một hàng trống trong bảng CSV/Excel của tôi. Tôi muốn trích xuất tất cả thông tin trong bảng tính Excel nhưng không có hàng trống giữa mỗi hàng...

Đây là kịch bản tôi sử dụng:

hàng = hoạt cảnh[3].findAll('tr')
cho tr theo hàng:
cols = tr.findAll('td', attrs={'class' : 'normaltext'})
y = 0
x = x + 1
cho td trong cols:
texte_bu = td.text
texte_bu = texte_bu.encode('utf-8')
texte_bu = texte_bu.strip()
ws.write(x,y,td.text)
y = y + 1

Cảm ơn rất nhiều vì đã cho tôi mẹo để có được điều này * Những người xuất tệp có dòng trống vô dụng giữa mỗi dòng :)

câu trả lời hay nhất

Cách giải quyết: Khi bạn tìm thấy một dòng trống, hãy bỏ qua vòng lặp và đọc dòng tiếp theo. Điều này ngăn cản bạn viết dòng trống trong sổ làm việc của bạn. :)

Đây là một mô phỏng làm việc. Tôi đã thêm một điều chỉnh thẩm mỹ để tránh gửi dòng trống trên cùng. Hy vọng điều này sẽ giúp bạn không phải lo lắng về những dòng trống :)

từ BeautifulSoup nhập BeautifulSoup
nhập khẩu xlwt

text = '''








Tesco - Vương quốc Anh  COKhông xác định  BULATS

Tesco - Vương quốc Anh  COKhông xác định  BULATS

'''

wb = xlwt.Workbook()
ws = wb.add_sheet('bảng kiểm tra')

súp = BeautifulSoup(văn bản)
bảng = soup.find('bàn')
hàng = table.findAll('tr')
x = 0
cho tr theo hàng:
cols = tr.findAll('td', attrs={'class' : 'normaltext'})
nếu không phải cols:
# khi chạm vào hàng trống, chúng ta không nên in bất cứ thứ gì vào sổ làm việc
Tiếp tục
y = 0
cho td trong cols:
texte_bu = td.text
texte_bu = texte_bu.encode('utf-8')
texte_bu = texte_bu.strip()
ws.write(x, y, td.text)
print(x, y, td.text)
y = y + 1
# cập nhật con trỏ hàng SAU khi một hàng được in
# điều này tránh hàng trống ở đầu bảng của bạn
x = x + 1

wb.save('example.xls')

Về python - BeautifulSoup - các dòng trống trong đầu ra gây ra vô dụng lạ, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/10402454/

28 4 0
không gian vũ trụ
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress