重构以避免熊猫冗余

时间:2019-09-20 19:05:11

标签: xml python-3.x pandas api beautifulsoup

我最近开始使用Pandas模块(和Python)来处理数据并将其转换为Excel。这样做时,我在代码中遇到了一些冗余,希望获得一些有关加快过程的建议。目前,我正在使用pd.series添加列,但之前需要将其附加到列表中。我之所以这样做,是因为我不知道如何将这些值直接添加到pd.series中,我认为这会加快该过程。我希望对我的代码进行评论,以便学习如何设置代码以更有效地处理数据。

import requests
import csv
import json
import datetime as datetime
import time
from bs4 import BeautifulSoup
import pandas as pd
from pandas import DataFrame

names = []
dates= []
IDs= []
countries = []

url = "url"
payload = {"PAYLOAD"}
response = requests.get(url, params=payload)
print(response.status_code)
soup = BeautifulSoup(response.text,'lxml')

for data in soup.select('info'):
      ID = info.find('IDs').string
      date = info.find('dates').string
      name = info.find('names').string
      country = info.find('countries').string

      IDs.append(ID)
      dates.append(date)
      names.append(name)
      countries.append(country)

df = pd.DataFrame({'Date': pd.Series(dates),
                     'ID': pd.Series(IDs),
                     'Name': pd.Series(names),
                     'Country': pd.Series(countries)
                   })

df['Date']=pd.to_datetime(df['Date'])
df.sort_values(by=['Date'], inplace=True, ascending=False)
df = df[['Date', 'ID', 'Name', 'Country']]
export_csv = df.to_csv (r'pandaresult1.csv', index=None)

0 个答案:

没有答案