0


Pandas读取数据

一、pandas读取csv文件

import pandas as pd
data=pd.read_csv('city.csv')
print(data)

这里我们可以指定name参数,来给我们的列表的不同列命名

import pandas as pd
data=pd.read_csv('city.csv',names=['A','B','C'])
print(data)

这是我们的data指定names之后的内容,可以发现我们的2018年到2016年全部为A,2015年为B,2014年为C

所以当我们打印data['A']的时候,我们获取到的是2018年到2016年的全部数据

指定我们的行索引

import pandas as pd
data=pd.read_csv('city.csv',index_col='2018年')
print(data)

将指定的数据置空

在下面的代码中,我们就将第0行中的208014.94余25669.13置为了NAN

import pandas as pd
data=pd.read_csv('city.csv',na_values=[28014.94,25669.13])
print(data)

保存我们的CSV数据

注意,保存的文件目录必须是要存在的,这里我们保存在了我们Python当前目录下的test文件夹下的out1.csv文件中

data.to_csv('test/out1.csv')

二、Python读取JSON数据

由于我们需要使用Python读取一些网页的文件,而网页中的文件通常用JSON来传输数据。

下面的代码中我们打开了name.json文件,并且打开方式为只读

data=open('name.json','r')
print(data)

如何查看我们的JSON数据

import json
import pandas as pd

data=open('name.json','r')
read=json.load(data)
print(read)
teachers=pd.DataFrame(read['data'],columns=['name','title','age','courses'])
print(teachers)

上面代码中的read,我们所得到的的是一个字典类型的数据。

然后我们可以使用pandas中的读取方式,将我们read数据中的data数据传入,并且指定我们的行索引分别为名字,标题,年龄和课程。

通过上面的观察,我们发现所有课程的数据都在courses中,所以接下来,我们来读取courses中额数据

import json
import pandas as pd

data=open('name.json','r')
read=json.load(data)
# print(read)
teachers=pd.DataFrame(read['data'],columns=['name','title','age','courses'])
courses=pd.DataFrame([],columns=['name','period'])
for c in (teachers['courses']):
    c1=pd.DataFrame(c,columns=['name','period'])
    courses=courses.append(c1,ignore_index=True)
courses=courses.drop_duplicates()
print(courses)

保存我们的json类型的数据

这里我们将数据按照记录排序,然后在我们的test文件夹下创建test.json的文件,并且打开莫得模式为写入二进制的模式,然后我们写入我们的数据x,并且指定我们的字符集的utf-8,最后我们需要关闭我们所链接的文件。

//加上了orient='records'之后,我们写入JSON的数据类型为一个列表,如果不写则不为列表。
x=courses.to_json(orient='records')
c=open("test/test.json",'wb')
c.write(x.encode('utf-8'))
c.close()

三、XML数据的读取和使用

from lxml import objectify
#打开我们的name.xml文件
parsed=objectify.parse(open('name.xml'))
#获取到我们name.xml的根节点,也就是我们下面的xml中的stuff
root=parsed.getroot()
#创建一个空的列表
data=[]
#创建一个列表,将我们的name,title,age传入
#可以从我们下面的xml中看出,我们下面的每一个teacher标签中都有这三个属性
fields=['name','title','age']
#遍历我们根节点也就是我们的stuff结点下的所有teacher标签下的内容
for elt in root.teacher:
#创建一个空的字典
    elt_data={}
#遍历我们每一个teacher标签下的子标签
    for child in elt.getchildren():
#如果子标签等于我们需要获取的标签,就将我们的子标签中的内容添加到我们的字典中
        if child.tag in fields:
            elt_data[child.tag]=child.pyval
#将我们的字典追加到我们的data列表中
    data.append(elt_data)
#将我们的data转化为pd.DataFrame的数据类型
teacher=pd.DataFrame(data)
print(teacher)

四、读取excel文件

#打开我们的excel数据表
f_excel=pd.ExcelFile("test1.xlsx")
#使用我们的read_excel方法来读取我们的打开的EXCEL中的Sheet表
#并且设置行索引为分数
gdp1=pd.read_excel(f_excel,'Sheet1',index_col="分数")
print(gdp1)

写入excel文件

#指定我们的存储目录
f_excel=pd.ExcelWriter('test/test1.xlsx')
#将我们之前gdp1中的数据存储到我们f_excel目录下的Sheet2表中
gdp1.to_excel(f_excel,'Sheet2')
#保存我们的f_excel文件
f_excel.save()

五、读取html中的表格

#指定我们想要读取的网址
tables=pd.read_html('http://www.boc.cn/sourcedb/whpj/index.html')
#这里经过我们的查看,只有tables中的1号表格是我们所需要的汇率数据
data=tables[1]
print(data)

六、读取数据库

读取数据库有单独的一篇博文

https://blog.csdn.net/weixin_62684026/article/details/124850660?spm=1001.2014.3001.5501​​​​​​​


本文转载自: https://blog.csdn.net/weixin_62684026/article/details/124885023
版权归原作者 wolfwalker 所有, 如有侵权,请联系我们删除。

“Pandas读取数据”的评论:

还没有评论