Python的pandas库的用法(一)读、写文件

 

创建文件:

import pandas as pd

df = pd.DataFrame() # DataFrame实例
df.to_csv('C:/Temp/output.csv') #save to file

在文件里写入:

df = pd.DataFrame( {'ID':[1,2,3],'name':['Tim','Vector','Jim'] } ) 
df.to_csv('C:/Temp/output.csv')           #to save file
print(df)

输出:

我们可以看到这里的输出0 1 2是DataFrame的默认索引,若我们要将df里的ID作为索引怎么办?

df = df.set_index('ID')

读取文件:

path = r'C:\Users\mdz\Desktop\Temp\People.xlsx'
people = pd.read_excel(path)
print(people.head())

情况一:若是文件有点“脏”

再执行上面的读入代码得到的输出就会是这样啦:

因为pandas读取文件时默认用第0行作为header,所以我们可以通过设置参数来解决

people = pd.read_excel(path,header=1)

情况二:我们的文件没有header

运行:

输出:

这样肯定是不对的!

也是通过设置header的参数,header = None即读Excel的时候不要设置任何的header

people = pd.read_excel(path, header= None) 

输出:

也不对啊,我们需要人为的设置colums的名字

path = r'C:\Users\mdz\Desktop\Temp\People.xlsx'
people = pd.read_excel(path,header=None)
people.columns = ['ID','Type','Title','FirstName', 'MiddleName', 'LastName']
print(people.columns)

 输出:

并将它保存在output文件中

path1 =r'C:\Users\mdz\Desktop\Temp\output.xlsx'
people.to_excel(path1)

打开文件,列名'ID', 'Type', 'Title', 'FirstName', 'MiddleName', 'LastName'已经添加上去了,但是我们发现index也打印出来了,有两种方法去掉前面的index。

1、

people.set_index('ID')

这样会生成新的DataFrame

2、

people.set_index('ID',inplace=True)

就在原来的DataFrame里改,而不生成新的DataFrame

运行print(people.columns)

输出:

我们可以发现columns里没有‘ID’啦,因为在DataFrame里index 和 columns是分开来对待的

我们如果在读取文件时知道哪一列时index,可以通过参数指定

people = pd.read_excel(path,index_col='ID')

 

 

在学习文件读入的时候,由于更改文件的后缀名出现了:

pandas.errors.ParserError: Error tokenizing data. C error: Buffer overflow caught - possible malformed input file.

解决方法:https://blog.csdn.net/qq_41338877/article/details/86761434

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值