创建Excel文件/输出到Excel
创建
#创建空的excel
import pandas as pd
df=pd.DataFrame()#需要先创建一个空的DataFrame数组,然后通过空的DataFrame转化为空的Excel
df.to_excel(“C:\Users\新建文件夹\test1.xlsx”)#将空的DataFrame转化为空的Excel,保存到相应路径
**创建DataFrame数据并写入Excel文件**
df=pd.DataFrame({
'ID':[1,2,3],'name':['Tim','Nick','Victor']})#通过字典的形式创建DataFrame
df.to_excel(“C:\Users\新建文件夹\test1.xlsx”)#将DataFrame写入到Excel,保存到相应路径
# 设置行索引set_index
df=df.set_index('ID') #ID为想要设置的行标签,并通过df=df.set_index(),在原数据上进行替换,将ID列作为行标签
输出
df.to_excel(“C:/Temp/People.xlsx”)
读取文件/设置行、列索引
读取文件
- 读取文件时请注意:如果需要设置第1行为列索引,则headers=1(一般用于第1行数据为杂乱无用数据,若为空,则可以自动识别第2行为索引),header默认为0,即将第0行作为索引列。若读取的数据中只有数据,没有有列索引,则需要添加header=None来表示,同时可以通过df.columns=[“name”,“old”,“sexuality”]来为数据新增列索引
- index_col表示在导入数据的时候就指定行索引
- siprows=3表示跳过前3行,从第4行开始读取,一般用于跳过空行或者无用行,无sipcolums,而是用usecols;usecols="C:F"表示使用C:F列数据,一般用于数据前几行前几列为空白
- dtype为设置某列的数据类型,也可以通过df[‘ID’]=df[‘ID’].astype(int)设置
- sheet_name表示读取excel中的某个sheet页
#读取已有文件
df=pd.read_excel('C:/Temp/People.xlsx',header=1,index_col=“ID”,skiprows=3,usecols=“C:F”,dtype={
'old':str,'name':str},sheet_name=‘sheet2’)
#获得文件的行和列
print(df.shape)
#获得数据的列名(不包含行索引index)
print(df.columns)
#显示数据前/后几行
print(df.head(10)) #显示数据的前10行,默认不填people.head(10)显示前5行
print(df.tail()) #显示数据的后10行,默认不填people.head(10)显示后5行
读取csv,tsv,txt文件
df=pd.read_csv(‘C:/Temp/People.csv’)
df=pd.read_csv(‘C:/Temp/People.tsv’,sep=’\t’)
df=pd.read_csv(‘C:/Temp/People.txt’,sep=’|’)
- sep表示原表中数据的分隔符,比如tsv文件以制表符(\t)分隔,无论读取csv,tsv,txt,都是通过pd.read_csv()
设置行、列索引
#设置列索引,只有当读取数据是headers=None时才能使用
df.columns=[“name”,“old”,“sexuality”]来为数据新增列索引
#设置行索引
# 设置行索引set_index---方法1
df=df.set_index('ID') #ID为想要设置的行标签,并通过df=df.set_index(),在原数据上进行替换,将ID列作为行标签
# 设置行索引set_index---方法2
df.set_index('ID',inplace=True)
行、列、单元格(Series)
创建Series
#方法1--通过字典创建Series
d={
'x':100,'y':200,'z':300}
s1=pd.Series(d)
#方法2--分别通过值和键来创建Series
L1=[100,200,300]
L2=['x','y','z']
s1=pd.Series(L1,index=L2,name='A') #name表示标签名
s1=pd