小编pat*_*tka的帖子

避免在python中使用UnicodeEncodeError

我尝试使用以下脚本使用python 将html表解析为csv:

from bs4 import BeautifulSoup
import requests
import csv


csvFile = open('log.csv', 'w', newline='')
writer = csv.writer(csvFile)
def parse():
    html = requests.get('https://en.wikipedia.org/wiki/Comparison_of_text_editors')
    bs = BeautifulSoup(html.text, 'lxml')
    table = bs.select_one('table.wikitable')
    rows = table.select('tr')
    for row in rows:
        csvRow = []
        for cell in row.findAll(['th', 'td']):
            csvRow.append(cell.getText())
        writer.writerow(csvRow)
        print(csvRow)


parse()
csvFile.close()
Run Code Online (Sandbox Code Playgroud)

此代码输出了一个清晰的格式化CSV文件,没有编码问题.一个例子 在EnricoTröger的Geany之前一切都很好.我的脚本无法写入ö csv文件,所以我尝试了这个: csvRow.append(cell.text.encode('ascii', 'replace'))而不是:csvRow.append(cell.getText()) 尽管事实上每个表格单元都嵌套了,但一切都很好b''.在此输入图像描述 那么,如何使用我的scipt获得清晰的格式化csv文件(如第一个屏幕截图中)并更换或忽略所有非unicode符号(如第二个屏幕截图中)?

python csv unicode

1
推荐指数
1
解决办法
57
查看次数

标签 统计

csv ×1

python ×1

unicode ×1