Я хочу извлечь данные из указанного c TXT-файла и сохранить его в Excel или любом приложении для работы с электронными таблицами - PullRequest
0 голосов
/ 08 апреля 2020

Я написал небольшой скрипт для получения данных с веб-сайта и сохранения их в текстовом файле, чтобы затем я мог извлечь определенные c данные и затем сохранить их в листе Excel. До сих пор мне удавалось написать всего несколько строк кода на python. Я только начинающий.

#Importing modules
import requests

import json

#Program start here
######################

#loading required info for post request
pload = {'iec':'0200006797','name':'GLOBA'}
# Sending request to web
r = requests.post('http://dgft.delhi.nic.in:8100/dgft/IecPrint',data = pload)




#opening file for saving the extacted data
f = open("data.txt", "w+")
f.write(r.text)

#Opening file for reading and further manipulations
f=open("data.txt","r")
if f.mode == 'r':
    contents = f.read()

Так что я в основном хочу извлечь данные из этого. Я только хочу извлечь имя и номер телефона первого директора, имя и номер телефона второго директора, а также имя и номер телефона третьего директора. Данные в HTML форме. Кроме того, ниже HTML не является полным. Существует более одной таблицы, поэтому я просто хочу извлечь данные из первой таблицы с надписью «Директора». Спасибо.

</TABLE> 
<BR> 
<BR> 
<B>Directors:</B> 
<BR> 
<TABLE BORDER=1>
<TR><TD VALIGN= TOP ALIGN=LEFT COLSPAN=50>1.</TD><TD VALIGN= TOP ALIGN=LEFT COLSPAN=100>SANJAY CHAKRABORTY                                <BR>LATE PRASAD KUMAR CHAKRABORTY                     <BR>19 K K MUKHERJEE SARANI,SERAMPORE  <BR>                                   <BR>HOOGHLY,WEST BENGAL                <BR>PIN-712204<BR>Phone/Email:919339624590                       </TD></TR>

<TR><TD VALIGN= TOP ALIGN=LEFT COLSPAN=50>2.</TD><TD VALIGN= TOP ALIGN=LEFT COLSPAN=100>SANJAY DHANUKA                                    <BR>BASUDEO DHANUKA                                   <BR>BA -206,SECTOR-1,SALT LAKE,PS-BIDH <BR>ANNAGAR                            <BR>KOLKATA,WEST BENGAL                <BR>PIN-700064<BR>Phone/Email:9674448777                         </TD></TR>

<TR><TD VALIGN= TOP ALIGN=LEFT COLSPAN=50>3.</TD><TD VALIGN= TOP ALIGN=LEFT COLSPAN=100>ISHITA NANDI                                      <BR>INDRANIL BURMAN ROY                               <BR>112, DR B C ROY SARANI,NEW BARRACK <BR>PORE                               <BR>KOLKATA,WEST BENGAL                <BR>PIN-700131<BR>Phone/Email:9804561441                         </TD></TR>


</TABLE> 

1 Ответ

0 голосов
/ 09 апреля 2020

Вот пример использования l xml и xpath. Это позволит экспортировать данные в CSV-файл.

from lxml import html
import requests
import pandas as pd
import csv    

    #loading required info for post request
pload = {'iec':'0200006797','name':'GLOBA'}
# Sending request to web
r = requests.post('http://dgft.delhi.nic.in:8100/dgft/IecPrint',data = pload)
tree = html.fromstring(r.content)

csvFile = open('directors.csv', 'w')
writer = csv.writer(csvFile)
writer.writerow(('name', 'phonenumber'))

#find name and phone and create a list

contacts =[]

items = tree.xpath("//table/tbody/tr")

for item in items:
    names = item.xpath("//td[2]/text()[1]")
    phones = item.xpath("//td[2]/text()[7]")
    for name,phone in names,phones:
             contacts.append(name,phone)

#opening file for saving the extacted data
for contact in contacts:
    writer.writerow(contact)

csvFile.close()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...