【问题标题】:Facing issues writing names in a csv file using panda面临使用熊猫在 csv 文件中写入名称的问题
【发布时间】:2017-09-19 21:07:43
【问题描述】:

我用 python 编写了一个爬虫来解析网页中的不同名称。由于我对熊猫很陌生,所以无法理解如何在 csv 文件中正确写入数据。我编写脚本的方式确实会刮掉所需的名称,但如果写入 csv 文件,它只会写入姓氏。对此的任何帮助将不胜感激。提前致谢。

import requests ; from bs4 import BeautifulSoup
import pandas as pd

res = requests.get('https://bytes.com/topic/python/answers/596974-socket-error-10061-connection-refused').text
soup = BeautifulSoup(res,"lxml")
for name in soup.select(".smallfont a"):
    item = pd.DataFrame([name.text])[0]
    item.to_csv('file.csv')
    print(item)

【问题讨论】:

    标签: python python-3.x csv web-scraping


    【解决方案1】:

    我不确定这是否是您的问题,但问题是您正在覆盖循环中的数据框。这样,只会将列表中的最后一条数据记录在 csv 文件中。

    试试这个代码:

    import requests ; from bs4 import BeautifulSoup
    import pandas as pd
    
    res = requests.get('https://bytes.com/topic/python/answers/596974-socket-
    error-10061-connection-refused').text
    soup = BeautifulSoup(res,"lxml")
    items_list = []
    for name in soup.select(".smallfont a"):
        items_list.append(name.text)
    
    item = pd.DataFrame(items_list)
    item.to_csv('file.csv')
    print(item)
    

    输出:

                                                       0
    0  boost::asio (Permission denied, Connection ref...
    1               Error Code 10061: Connection refused
    2                    socket.error connection refused
    3              Connection refused error from browser
    4  connection refused when uploading a package to...
    5                smtplib (111, 'Connection refused')
    6  sending of mail (smtp) - connection refused - ...
    7              socket object, connection refused ...
    8                                 socket error 10061
    

    这是你的意图吗?

    【讨论】:

    • 是的。谢谢 Rafael Araújo。
    【解决方案2】:

    为什么需要熊猫?

    with open('file.csv', 'w+') as f:
        for name in soup.select(".smallfont a"):
            item = name.decode_contents()
            f.write(item)
            print(item)
    

    【讨论】:

    • 感谢 Loïc,您的回答。如果不是熊猫,我实际上知道如何写入 csv 文件。再次感谢。
    猜你喜欢
    • 2013-10-22
    • 2022-01-06
    • 2016-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-11
    • 1970-01-01
    相关资源
    最近更新 更多