ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

20220703 爬虫&数据处理

2022-07-03 13:32:40  阅读:164  来源: 互联网

标签:20220703 get df 数据 单列 爬虫 dataframe 数据处理 data


1、

昨天已经获取到数据,今天发现dataframe数据单列数据存储在一行中,分列不太好分,我上网查了下。从列表转换为dataframe,正常是存储为一行,需要转置下发现确实变成逗号分开的形式了。代码如下:

data = get_data()
df = pd.DataFrame(data=[data],index=['a']).T
print(df.head())

如果想把列表转为字典格式,再存为dataframe呢?(参考链接:https://blog.csdn.net/linxent/article/details/104345845)

def get_data():
    j = 1
    total = []
    while j <= 3:
        sleep(1)
        lst = []
        lst1 = []
        lst2 = []
        lst3 = []
        for i in range(1,11):
            Project_name = wait.until(EC.presence_of_element_located((By.XPATH, "//*[@id='main-frame']/div[4]/div/div[1]/div[2]/div[1]/div[4]/div[2]/table/tbody/tr[%s]/td[1]"%i)))
            Stat_tel = wait.until(EC.presence_of_element_located((By.XPATH, "//*[@id='main-frame']/div[4]/div/div[1]/div[2]/div[1]/div[3]/table/tbody/tr[%s]/td[2]/div/span"%i)))
            Recent_person = wait.until(EC.presence_of_element_located((By.XPATH,"//*[@id='main-frame']/div[4]/div/div[1]/div[2]/div[1]/div[3]/table/tbody/tr[%s]/td[5]"%i)))
            Last_Updated = wait.until(EC.presence_of_element_located((By.XPATH,"//*[@id='main-frame']/div[4]/div/div[1]/div[2]/div[1]/div[3]/table/tbody/tr[%s]/td[6]/div/span"%i)))
            lst.append(Project_name.text)
            lst1.append(Stat_tel.text)
            lst2.append(Recent_person.text)
            lst3.append(Last_Updated.text)
        len_a = len(lst)
        len_b = len(lst1)
        len_c = len(lst2)
        len_d = len(lst3)
        if len_a !=len_b or len_a != len_c != len_d:
            print("抓取到数据个数不同")
        for i in range(len_a):
            total.append(lst[i]+","+ lst1[i]+"," + lst2[i]+","+ lst3[i])
        fanye = wait.until(EC.presence_of_element_located((By.XPATH, "//*[@id='main-frame']/div[4]/div/div[1]/div[2]/div[2]/div[2]/div/ul/li[%s]"%j)))
        fanye.click()
        print("已抓取第%s页"%j)
        #fanye = wait.until(EC.presence_of_element_located((By.XPATH, "//*[@id='main-frame']/div[4]/div/div[1]/div[2]/div[2]/div[2]/div/span[2]/div/input")))
        #fanye.send_keys(j)
        sleep(2)
        #fanye.send_keys(Keys.ENTER)
        j += 1
    sleep(1)
    return total

#def data_clean():
data = get_data()
df = pd.DataFrame(data=[data],index=['a']).T
print(df.head())
df1 = df.join(df['a'].str.split(',', expand=True))
print(df1)

用上面的方法的确是可以分割开单列数据,问题在于取到的列中。时间标注为上午、星期一之类的,不是标准日期字符串。这个后续再改吧。

标签:20220703,get,df,数据,单列,爬虫,dataframe,数据处理,data
来源: https://www.cnblogs.com/dion-90/p/16439688.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有