【问题标题】:Export to csv in perfect format以完美格式导出到 csv
【发布时间】:2019-02-12 05:15:13
【问题描述】:

我想在 csv 中打印这些数据,这样我就可以为我的网络抓取代码循环许多公司。

我在 stackoverflow 本身的帮助下获取此代码,并希望将此打印格式转换为 excel 或 csv,每列有或没有 149 卢比。

import pandas as pd
import requests
from bs4 import BeautifulSoup as bs

url = 'https://www.zaubacorp.com/documents/KAKDA/U01122MP1985PTC002857'
res = requests.get(url)
soup = bs(res.content,'lxml')
headers = [header.text for header in soup.select('h3.pull-left')]
tables = pd.read_html(url)
items = zip(headers,tables)
for header, table in items:
    print(header)
    print(table)

**

Certificates
         Date                         Title   ₨ 149 Each
0  2006-04-24  Certificate of Incorporation  Add to Cart
1  2006-04-24  Certificate of Incorporation  Add to Cart
Other Documents Attachment
         Date Title   ₨ 149 Each
0  2006-04-24   AOA  Add to Cart
1  2006-04-24   AOA  Add to Cart
2  2006-04-24   MOA  Add to Cart
3  2006-04-24   MOA  Add to Cart
Annual Returns and balance sheet Eform
         Date                    Title   ₨ 149 Each
0  2006-04-24  Annual Return 2002_2003  Add to Cart
1  2006-04-24  Annual Return 2003_2004  Add to Cart

**

【问题讨论】:

  • Python 自带CSV input and output library。请先尝试一下,因为目前这个问题有点太宽泛了,IMO。
  • 我仍然想不出办法将其打印到 csv
  • 您正在使用 pandas 存储表格。为什么不使用 'df.to_csv()' ?
  • 这不会发生,因为标题值为 str 而表为 df。

标签: html pandas csv beautifulsoup screen-scraping


【解决方案1】:

真的不清楚你想要什么作为你的预期输出。但是你可以在组合数据帧后使用 pandas 将其写入 csv。

import pandas as pd
import requests
from bs4 import BeautifulSoup as bs

url = 'https://www.zaubacorp.com/documents/KAKDA/U01122MP1985PTC002857'
res = requests.get(url)
soup = bs(res.content,'lxml')
headers = [header.text for header in soup.select('h3.pull-left')]
tables = pd.read_html(url)

tables = [ table[1:] for idx, table in enumerate(tables) ]

df = pd.concat(tables)   
df.columns = headers 
df = df.reset_index(drop=True)


df.to_csv('path/to/filename.csv', index=False)

【讨论】:

    猜你喜欢
    • 2017-07-21
    • 1970-01-01
    • 2013-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-17
    • 2021-05-23
    • 1970-01-01
    相关资源
    最近更新 更多