Pandas 是一个开放源码、BSD 许可的库,提供高性能、易于使用的数据结构和数据分析工具。pandas基础就是DataFrame,生成二维表。
pandas有两种生成DataFrame的方法。
第一种是以字典的形式先准备好每一列的数据,用DataFrame生成表格,再用index方法生成行索引(就是我们平常excel中的行名)
import pandas as pd
# 准备好列数据,注意字典的key为列名,value可以是一个列表
df = pd.DataFrame({'Chinese': [60, 70], 'Egnlish': [50, 60]})
print(df)
# 使用index方法加入索引(行名)
df.index = ['xiaoming', 'xiaohua']
print(df)
第二种是以列表的方式准备好数据、列索引、行索引,使用关键字参数的方式建立表格
import pandas
# 准备好数据、列名、索引
data = [[60, 70], [50, 60]]
columns = ['English', 'Chinese']
index = ['xiaoming', 'xiaohua']
# 关键字传参,data为数据,columns为列名,index为索引
df = pd.DataFrame(data=data, columns=columns, index=index)
print(df)
print(df['English'])
当然如果不嫌麻烦,还可以先传数据,再传列索引和行索引
import pandas
s = pd.Series([60, 70])
print(s)
s = pd.Series(data=[60, 70], index=['xiaoming', 'xiaohua'])
print(s)
Pandas将DataFrame输出成excel、csv、json可太方便了,直接to_excel,to_csv,to_json即可
import pandas as pd
data = [[60, 70], [50, 60]]
columns = ['English', 'Chinese']
index = ['xiaoming', 'xiaohua']
df = pd.DataFrame(data=data, columns=columns, index=index)
df.to_excel('C:/target.xlsx', sheet_name='Sheet1', index=False)
#写入excel index = False会抛弃行索引,比下面的两个多了sheet_name
df.to_csv('C:/target.csv')
#写入csv
df.to_json('C:/target.json')
#写入json
同样要读取这三类文件也很简单,直接read_excel,read_csv,read_json即可。注意read_json的时候如果json是GBK编码会报错。尝试了好几种方法都没能解决,不知道有没有大佬能指点一下。
import pandas as pd
a = pd.read_excel('C:/target.xlsx', sheet_name='Sheet1', usecols