Pandas操作CSV文件的读写实现方法

yipeiwu_com7年前Python基础

(1)、导库

import pandas as pd
from pandas import Series

(2)、读取csv文件的两种方式

#读取csv文件的两种方式
f = open('E:/建模/第5周/data/ex1.csv') #方法一
df = pd.read_csv(f)
print(df)
f.close

f = open('E:/建模/第5周/data/ex1.csv') #方法二,必须指定分隔符为',',否则会读取失败
df = pd.read_table(f,sep=',')
print(df)
f.close

(2)、根据需要条件读取csv文件

#根据需要条件读取csv文件
f = open('E:/建模/第5周/data/csv_mindex.csv') 
df = pd.read_csv(f,header=None)   #不需要表头
df = pd.read_csv(f,names=['a','b','c','d','message'])  #添加表头
df = pd.read_csv(f,names=['a','b','c','d','message'],index_col = 'message')  #指定某一列作为行索引
df = pd.read_csv(f,index_col = ['key1','key2'])  #指定多列作为行索引
print(df)
f.close

(3)、利用正则表达式读取不同含有不同分隔符的文件

#利用正则表达式读取不同含有不同分隔符的文件
f = open('E:/建模/第5周/data/ex3.txt') 
df = pd.read_table(f,sep='\s+')
print(df)

(4)、根据需要选择需要读的行

#根据需要选择需要读的行
f = open('E:/建模/第5周/data/ex4.csv') 
df = pd.read_table(f,sep=',',skiprows=[0,2,3]) #跳过不想读的行
print(df)

(5)、处理缺失值

#处理缺失值
f = open('E:/建模/第5周/data/ex5.csv') 
df = pd.read_table(f,sep=',',na_values='world') #如果数据中有'world',也会视为缺失值
print(df)

(6)、逐行读取文件

#逐行读取文件
f = open('E:/建模/第5周/data/ex6.csv') 
df = pd.read_table(f,sep=',',nrows=5) #只读取前面5行
print(df)

(7)、将dataframe数据写入csv文件

#将dataframe数据写入csv文件
f = open('E:/建模/第5周/data/ex5.csv') 
data = pd.read_csv(f)
data.to_csv('E:/建模/第5周/data/out.csv')  #将dataframe输出到csv文件中
data.to_csv('E:/建模/第5周/data/out.csv',na_rep='ok')  #将缺失值补上‘ok'
data.to_csv('E:/建模/第5周/data/out.csv',header=None)  #不设置表头
data.to_csv('E:/建模/第5周/data/out.csv',columns=['a','b'])  #写出指定的列

(8)、将csv文件读取位Series

#将csv文件读取位Series
f = open('E:/建模/第5周/data/tseries.csv') 
series = Series.from_csv(f,parse_dates=True)
print(series)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python 如何去除字符串头尾的多余符号

在读文件时常常得到一些\n和引号之类的符号,可以使用字符串的成员函数strip()来去除。 1.去除首尾不需要的字符 a= '"This is test string"' #...

Python实现统计给定字符串中重复模式最高子串功能示例

本文实例讲述了Python实现统计给定字符串中重复模式最高子串功能。分享给大家供大家参考,具体如下: 给定一个字符串,如何得到其中重复模式最高的子字符串,我采用的方法是使用滑窗机制,对给...

Python中低维数组填充高维数组的实现

Python中低维数组填充高维数组的实现

今天遇到这样一种业务情况: 我的图片的画布是(4,4,3)的三维数组,而得到的图片是(2,2,3)的三维数组,我要把图片放到画布的中间某个位置应该怎么做呢? 大家首先想到是遍历循环,但是...

Python中shutil模块的学习笔记教程

介绍 shutil 名字来源于 shell utilities,有学习或了解过Linux的人应该都对 shell 不陌生,可以借此来记忆模块的名称。该模块拥有许多文件(夹)操作的功能,包...

python实现按任意键继续执行程序

在windows下写bat的时候,通过pause命令,可以暂停程序运行,例如经常见的程序会在终端提示”按任意键继续……”,用户在终端回车后程序可以接着运行,这个功能有多大用途今天暂且不说...