【问题标题】:Python: Extract different tables and merge them into a single CSV filePython:提取不同的表并将它们合并到一个 CSV 文件中
【发布时间】:2020-12-21 15:58:39
【问题描述】:

我想找到印度所有的冷藏库及其容量。信息可在https://www.napanta.com/cold-storage/

每个州都有自己的 URL(例如:https://www.napanta.com/cold-storage/andhra-pradesh/)...转到每个州的 URL,我们看到它有很多区,每个区都有自己的 URL (https://www.napanta.com/cold-storage/andhra-pradesh/krishna) 用于克里希纳区美联社

我的目标是创建一个单一的 CSV 文件,其中包含来自每个州的所有地区的这些信息。此 One Big CSV 文件中的其他列将是州和地区名称。

在我们有了这个州区数据框后,我想将它附加到所有州和区的更大数据框。最后将这个大型主数据框导出到单个 CSV 文件中。最终的结果应该是一个单独的 CSV 文件,其中包含每个州每个地区的所有数据。

我用 Beautiful Soup 尝试了 scraping 部分,但现在我卡住了。请帮我写代码。

【问题讨论】:

    标签: python pandas csv beautifulsoup


    【解决方案1】:

    您应该首先获得所有链接的列表。可以用硒和美丽的汤来完成。然后您可以尝试遍历这些链接列表并使用 pandas 读取表格:

    import pandas as pd
    li = []
    for link in list_of_links:
        dfi = pd.read_html(link)
        li.append(dfi)
    df = pd.concat(li)
    df.to_csv("Your_File.csv")
    

    【讨论】:

    • 由于我是 Python 新手,能否在 Python 方面提供更多见解?
    • 如何获取所有链接的列表?我必须手动复制粘贴所有链接还是有一些 Python 代码?
    【解决方案2】:

    获得所有信息后,您可以将其加载到数据框并使用 pandas 对其进行转换,然后使用将其导出为 csv

    DataFrame.to_csv('filename.csv')
    

    【讨论】:

    • 你能从一开始就帮我看看如何保存然后将不同的 CSV 文件合并到一个文件中吗?
    • 您可以使用df1 = pandas.read_csv('filename1') df2 = pandas.read_csv('filename2') 加载文件,然后您可以使用df = df1 + df2 连接它们,然后使用df.to_csv('output_file.csv') 输出数据帧
    猜你喜欢
    • 1970-01-01
    • 2011-08-28
    • 1970-01-01
    • 2021-10-28
    • 2017-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多