赞
踩
Series是一种类似于一维数组的对象,由一组数据及一组与之相关的数据标签索引组成。
import pandas as pd
# 只传入值,默认索引从0开始
s=pd.Series(['a','b'])
#传入值和指定索引
s=pd.Series(['a','b'],index=['1','2'])
#传入字典,key对于索引,value对应值
DataFrame是由由一组数据与一对索引(行索引与列索引)组成的表格型数据结构。
传入列表
传入字典
excel实现:双击直接打开
#电脑的路径默认使用\,在路径前加入转义字符r,避免路径里面的\被转义
df=pd.read_excel(r'C:\Users\text.xlsx')
#也可以/
df=pd.read_excel('C:/Users/text.xlsx')
#指定导入哪个sheet,指定sheet的名称
df=pd.read_excel('C:/Users/text.xlsx',sheet_name='Sheet1')
#指定导入哪个sheet,也可以传入sheet顺序,从0开始计数
df=pd.read_excel('C:/Users/text.xlsx',sheet_name=0)
# 指定将文件的第0列为行索引
df=pd.read_excel('C:/Users/text.xlsx',sheet_name=0,index_col=0)
#指定第0行的内容当作列索引
df=pd.read_excel('C:/Users/text.xlsx',sheet_name=0,header=0)
#指定读取某些列,usecols传入列表(列名值,或者列的索引号)
df=pd.read_excel('C:/Users/text.xlsx',sheet_name=0,usecols=['','','',''])
excel实现:双击直接打开
#电脑的路径默认使用\,在路径前加入转义字符r,避免路径里面的\被转义
df=pd.read_csv(r'C:\Users\text.csv')
#指明分隔号符号;csv文件默认是,号分割,如果text是用空格为分隔符,那么默认,号分不开
df=pd.read_csv('C:/Users/text.csv',sep='')
#指定读取行数,读取前两行
df=pd.read_csv('C:/Users/text.csv',nrows=2)
#指定编码格式
# 如果文件时CSV-UTF-8文件,编码格式改为utf-8
df=pd.read_csv('C:/Users/text.csv',encoding='utf-8')
# 如果文件时CSV文件,编码格式改为gbk
df=pd.read_csv('C:/Users/text.csv',encoding='gbk')
#如果文件路径含有中文,用上面的会报错,需要将默认的C语言改为python
df=pd.read_csv('C:/Users/学习笔记/text.csv',engine='python',encoding='utf-8-sig')
df=pd.read_csv('C:/Users/text.csv',engine='python',encoding='gbk')
#.csv文件行列索引,以及导入指定列与.xlsx文件一致
excel实现:数据栏>获取外部数据>自文本
#read_table()是将利用分隔符分开的文件导入DataFrame的通用函数,它不仅可以导入.txt文件,还可以导入.csv文件
df=pd.read_table('C:/Users/text.txt',sep='')
#读取csv文件即使默认的,号的分隔符,也不可以省略不写
df=pd.read_table('C:/Users/text.csv',sep=',')
# 其他的与read_csv()函数的基本一致
excel实现:数据栏>自其他来源导入sql文件
python实现:第一步将python与数据库进行连接,第二步利用python执行sql查询语句。
在python中,文件导出为.xlsx文件使用的是df.to_excel()
函数。
**注意:**同一导出的文件已经在本地打开,则不能再次运行导出代码。
# 1.设置文件导出的路径 df.to_excel(excel_writer=r"D:\E-WenDang\ruanjianDM\数字方向\分析建模.xlsx") # 2.设置sheet名称 df.to_excel(excel_writer=r"D:\E-WenDang\ruanjianDM\数字方向\分析建模.xlsx",sheet_name='模型1') # 3.设置索引 # 上面两种方式导出文件的索引都是默认的,即0,1,... # 设置参数,保留原来数据的索引 df.to_excel(excel_writer=r"D:\E-WenDang\ruanjianDM\数字方向\分析建模.xlsx",sheet_name='模型1',index=False) # 4.设置要导出的列 # 若数据的列很多,我们只需导出其中几列 df.to_excel(excel_writer=r"D:\E-WenDang\ruanjianDM\数字方向\分析建模.xlsx",sheet_name='模型1',index=False,columns=['列名1','列名2']) # 5.设置编码格式 # 我们在导入/导出文件时需要设置编码格式。 df.to_excel(excel_writer=r"D:\E-WenDang\ruanjianDM\数字方向\分析建模.xlsx",sheet_name='模型1',index=False,encoding="utf-8") # 6.缺失值处理 # 对缺失值填充。 df.to_excel(excel_writer=r"D:\E-WenDang\ruanjianDM\数字方向\分析建模.xlsx",sheet_name='模型1',index=False,encoding="utf-8",na_rep=0) # 7.无穷值处理 df.to_excel(excel_writer=r"D:\E-WenDang\ruanjianDM\数字方向\分析建模.xlsx",sheet_name='模型1',index=False,encoding="utf-8",na_rep=0,inf_rep=0)
在python中,文件导出为.csv文件使用的是df.to_csv()
函数。
# 1.设置文件导出的路径 df.to_csv(path_or_buf=r"D:\E-WenDang\ruanjianDM\数字方向\分析建模.csv") # 2.设置索引 # 上面两种方式导出文件的索引都是默认的,即0,1,... # 设置参数,保留原来数据的索引 df.to_csv(path_or_buf=r"D:\E-WenDang\ruanjianDM\数字方向\分析建模.csv",index=False) # 3.设置要导出的列 # 若数据的列很多,我们只需导出其中几列 df.to_csv(path_or_buf=r"D:\E-WenDang\ruanjianDM\数字方向\分析建模.csv",index=False,columns=['列名1','列名2']) # 4.设置分割符号 df.to_csv(path_or_buf=r"D:\E-WenDang\ruanjianDM\数字方向\分析建模.csv",index=False,sep=",") # 5.缺失值/无穷值处理 # 对缺失值填充。 df.to_csv(path_or_buf=r"D:\E-WenDang\ruanjianDM\数字方向\分析建模.csv",index=False,sep=",",na_rep=0,inf_rep=0 # 6.设置编码格式 # 默认使用utf-8,但是会出现乱码,常使用utf-8-sig/gbk df.to_csv(path_or_buf=r"D:\E-WenDang\ruanjianDM\数字方向\分析建模.csv",index=False,sep=",",na_rep=0,encoding="utf-8-sig")
d=dt.today().strftime('%Y-%m-%d') date=[d,d,d,d,d] titles=['平面', '网页', '交互','审核','其他'] c,dayra=chan_neng_third() daydict={'日期':date,'工种分类':titles,'所需天数':dayra} daydate=pd.DataFrame(daydict,columns=['日期','工种分类','所需天数']) everydaydate= pd.read_excel('所需天数日更.xlsx',sheet_name='Sheet1') book = load_workbook('所需天数日更.xlsx') with pd.ExcelWriter("所需天数日更.xlsx", mode='a', engine='openpyxl') as writer: if pd.to_datetime(daydate.loc[daydate.index[-1],'日期']).strftime('%Y-%m-%d') != everydaydate.loc[everydaydate.index[-1],'日期']: everydaydate = everydaydate.append(daydate,ignore_index=True,sort=False) writer.book= book writer.sheets = dict((ws.title, ws) for ws in book.worksheets) everydaydate.to_excel(writer,sheet_name='Sheet1',index=False) elif pd.to_datetime(daydate.loc[daydate.index[-1],'日期']).strftime('%Y-%m-%d') == everydaydate.loc[everydaydate.index[-1],'日期']: everydaydate=everydaydate.drop(everydaydate.iloc[[-5,-4,-3,-2,-1]].index) everydaydate = everydaydate.append(daydate,ignore_index=True,sort=False) writer.book= book writer.sheets = dict((ws.title, ws) for ws in book.worksheets) everydaydate.to_excel(writer,sheet_name='Sheet1',index=False)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。