Экспорт в CSV в идеальном формате - PullRequest
0 голосов
/ 12 февраля 2019

Я хочу напечатать эти данные в csv, чтобы я мог зациклить многие компании для своего кода очистки веб-страниц.

Я получаю этот код с помощью самого stackoverflow и хочу получить этот печатный формат, чтобы превзойти его.или CSV с или без Rs 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

**

1 Ответ

0 голосов
/ 13 февраля 2019

Это действительно неясно, что именно вы хотите в качестве ожидаемого результата.Но вы можете использовать панды, чтобы записать его в 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)
...