رفتن به مطلب
  • 0

خواندن دیتا از روی کدهای TXT


omidsaemi

سوال

من یک وب سرویس دارم که داری Body میباشد
از طریق پایتون موفق شدم این وب سرویس رو Call کنم و به دیتا دسترسی داشته باشم
فقط دیتا هایی که به من برمیگردونه در قالب کدهای TEXT هستش
حالا مشکلم اینه که نمیدونم چطوری دیتا رو از داخل این کدهای TEXT استخراج کنم و به داخل جداول SQL وارد کنم

ممنون میشم کمکم کنید

لینک ارسال
به اشتراک گذاری در سایت های دیگر

5 پاسخ به این سوال تاکنون داده شده است

ارسال‌های توصیه شده

سلام و درود. لطفا متن خروجی رو پیوست کنید و کاری که قراره انجام بشه رو هم توضیح بدید

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام و خسته نباشید خدمت شما
بله حتما
این کد اصلیه :

import requests
from datetime import date
from persiantools.jdatetime import JalaliDate

m_today = date.today().strftime("%Y%m%d")
s_today = JalaliDate.today().isoformat().replace('-','')
password = int(m_today) + int(s_today) + 20211227


url = "http://behinyab.mimt.gov.ir/webapp/WSC.asmx?op=GetBehinyabproductionStats"

payload = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<soap12:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap12=\"http://www.w3.org/2003/05/soap-envelope\">\r\n  <soap12:Body>\r\n    <GetBehinyabproductionStats xmlns=\"http://tempuri.org/\">\r\n      <pass>{0}</pass>\r\n      <year_start>1399</year_start>\r\n      <month_start>10</month_start>\r\n      <year_end>1400</year_end>\r\n      <month_end>10</month_end>\r\n    </GetBehinyabproductionStats>\r\n  </soap12:Body>\r\n</soap12:Envelope>".format(password)
headers = {
  'Content-Type': 'application/soap+xml; charset=utf-8'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

 

جوابش هم زیاده 
اونم بفرستم؟
البته اگ خودتو ازش اجرا بگیرین بهتره

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

این کد با یک وب سرویس رو کال میکنه
که url اش مشخصه
و یه بادی .. که تو این بادی ما با استفاده از تاریخ شمسی امروز و تاریخ میلادی امروز و یک عدد ثابت یه پسورد میسازیم واسش .. که این پسورد نیازه بادی وب سرویس هستش و باید باشه .. که اون اوکیه و درست داره کار میکنه
همه ی مشکل من اینه که خروجی ای که این وب سرویس به من میده واسم کارایی نداره
حالا چرا کارایی نداره
چون نمیتونم ازش استفاده بکنم .. اینطوری که دیتا رو ازش استخراج کنم و به SQL پاس بدمش
خلاصه میخوام یه راهی باشه این وب سرویس هر روز ران بشه و دیتاهایی که برگردونده میشه بره داخل SQL
حالا اتصالش به SQL رو اوکی کردم .. ولی میخوام خروجی از نوع XML باشه که بتونم از طریق کد زیر یه دیتا فریم خروجی بگیرم

لینک ارسال
به اشتراک گذاری در سایت های دیگر

import xml.etree.ElementTree as ETree
import pandas as pd
  
xmldata = '''<?xml version="1.0" encoding="UTF-8"?>
        <Food>
            <Info>
            <Msg>Food Store items.</Msg>
            </Info>
            <store slNo="1">
                <foodItem>meat</foodItem>
                <price>200</price>
                <quantity>1kg</quantity>
                <discount>7%</discount>
            </store>
            <store slNo="2">
                <foodItem>fish</foodItem>
                <price>150</price>
                <quantity>1kg</quantity>
                <discount>5%</discount>
            </store>
            <store slNo="3">
                <foodItem>egg</foodItem>
                <price>100</price>
                <quantity>50 pieces</quantity>
                <discount>5%</discount>
            </store>
            <store slNo="4">
                <foodItem>milk</foodItem>
                <price>50</price>
                <quantity>1 litre</quantity>
                <discount>3%</discount>
            </store>
        </Food>
'''
  
prstree = ETree.fromstring(xmldata)
root = prstree.tag
  
#print(root)
store_items = []
all_items = []
  
for storeno in prstree.findall('store'):  
    store_Nr = storeno.attrib.get('slNo')
    itemsF= storeno.find('foodItem').text
    price= storeno.find('price').text
    quan= storeno.find('quantity').text
    dis= storeno.find('discount').text
          
    store_items = [store_Nr,itemsF,price,quan,dis]
    all_items.append(store_items)
  
xmlToDf = pd.DataFrame(all_items,columns=[
  'SL No','ITEM_NUMBER','PRICE','QUANTITY','DISCOUNT'])        
  
print(xmlToDf.to_string(index=False))




ببینید این کد یه نمونه است ، یه مثاله و اصلا ربطی به پروژه ی من نداره
ما با استفاده از این کد اگه یه کد XML بهش بدیم میتیونیم خروجی دیتا فریم بگیریم
من میخوام خروجی اون وب سرویس این شکلی باشه که با استفاده از این کد یه خروجی مناسب بگیرم که بتونم دیتا رو تروتمیز از توش بکشم بیرون
یا اگ راه دیگه ای هست من در جریانش نیستم

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در ۱۴۰۰/۱۲/۲۲ در ۱۱:۰۰، omidsaemi گفته است:
import xml.etree.ElementTree as ETree
import pandas as pd
  
xmldata = '''<?xml version="1.0" encoding="UTF-8"?>
        <Food>
            <Info>
            <Msg>Food Store items.</Msg>
            </Info>
            <store slNo="1">
                <foodItem>meat</foodItem>
                <price>200</price>
                <quantity>1kg</quantity>
                <discount>7%</discount>
            </store>
            <store slNo="2">
                <foodItem>fish</foodItem>
                <price>150</price>
                <quantity>1kg</quantity>
                <discount>5%</discount>
            </store>
            <store slNo="3">
                <foodItem>egg</foodItem>
                <price>100</price>
                <quantity>50 pieces</quantity>
                <discount>5%</discount>
            </store>
            <store slNo="4">
                <foodItem>milk</foodItem>
                <price>50</price>
                <quantity>1 litre</quantity>
                <discount>3%</discount>
            </store>
        </Food>
'''
  
prstree = ETree.fromstring(xmldata)
root = prstree.tag
  
#print(root)
store_items = []
all_items = []
  
for storeno in prstree.findall('store'):  
    store_Nr = storeno.attrib.get('slNo')
    itemsF= storeno.find('foodItem').text
    price= storeno.find('price').text
    quan= storeno.find('quantity').text
    dis= storeno.find('discount').text
          
    store_items = [store_Nr,itemsF,price,quan,dis]
    all_items.append(store_items)
  
xmlToDf = pd.DataFrame(all_items,columns=[
  'SL No','ITEM_NUMBER','PRICE','QUANTITY','DISCOUNT'])        
  
print(xmlToDf.to_string(index=False))




ببینید این کد یه نمونه است ، یه مثاله و اصلا ربطی به پروژه ی من نداره
ما با استفاده از این کد اگه یه کد XML بهش بدیم میتیونیم خروجی دیتا فریم بگیریم
من میخوام خروجی اون وب سرویس این شکلی باشه که با استفاده از این کد یه خروجی مناسب بگیرم که بتونم دیتا رو تروتمیز از توش بکشم بیرون
یا اگ راه دیگه ای هست من در جریانش نیستم

 

text خروجی شما که قراره پردازش بشه از چه نوعی هست؟ xml html json یا فرمت خاصی نداره؟

سوال رو در بخش b4j پرسیده بودید. کلاینت که قراره اطلاعات رو بگیره با b4j میخواین بنویسید؟ 

مقدار response از نوع xml هه؟

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...