html - 以完美格式导出到 csv
问题描述
我想在 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
**
解决方案
真的不清楚你想要什么作为你的预期输出。但是,一旦合并数据帧,您就可以使用 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)
推荐阅读
- python - 如何在不重新加载页面的情况下运行包含操作参数的视图函数
- python - 获取颜色坐标的功能不起作用
- amazon-web-services - 从 s3 将文件导入 jupyterlabs
- html - 避免单击标签时单击复选框
- vue.js - 如何使用来自另一个模块的模块内的 getter 进行 Vuex 状态
- powershell - 从 CMD 管道到 PowerShell
- c - 从“double”转换为“int”是什么意思,可能会丢失数据?
- hadoop - 如何解决 mapreduce 中的平均问题?
- bixby - Bixby - 在输入视图中渲染输出
- spring - 如何区分具有路径变量的 antMatchers 与上下文路径的其余部分