pandas21 读csv文件read_csv(5.文本数据读写实例)(详细 tcy)

实例 2018/12/27

目录:
第1部分:csv文本文件读写

    pandas 读csv文件read_csv(1.文本读写概要)https://mp.csdn.net/postedit/85289371
    pandas 读csv文件read_csv(2.read_csv参数介绍)https://mp.csdn.net/postedit/85289928
    pandas 读csv文件read_csv(3.dtypes指定列数据类型)https://mp.csdn.net/postedit/85290575
    pandas 读csv文件read_csv(4.to_csv文本数据写)https://mp.csdn.net/postedit/85290962
    pandas 读csv文件read_csv(5.文本数据读写实例)https://mp.csdn.net/postedit/85291123
    pandas 读csv文件read_csv(6.命名和使用列)https://mp.csdn.net/postedit/85291430
    pandas 读csv文件read_csv(7.索引)https://mp.csdn.net/postedit/85291658
    pandas 读csv文件read_csv(8.方言和分隔符)https://mp.csdn.net/postedit/85291994
    pandas 读csv文件read_csv(9.浮点转换和NA值)https://mp.csdn.net/postedit/85292391
    pandas 读csv文件read_csv(10.注释和空行)https://mp.csdn.net/postedit/85292609
    pandas 读csv文件read_csv(11.日期时间处理) https://mp.csdn.net/postedit/85292925
    pandas 读csv文件read_csv(12.迭代和块)https://mp.csdn.net/postedit/85293639
    pandas 读csv文件read_csv(13.read_fwf读固定宽度数据)https://mp.csdn.net/postedit/85294010
    
第2部分:
    pandas hdf文件读写简要https://mp.csdn.net/postedit/85294299
    pandas excel读写简要https://mp.csdn.net/postedit/85294545
    
第3部分:
    python中csv模块用法tcy https://mp.csdn.net/postedit/85228189
    pandas读csv文件read_csv错误解决办法7种https://mp.csdn.net/postedit/85228808
    pandas to_string用法https://mp.csdn.net/postedit/85294935


 

# 实例1:文件读 

pd.read_csv(r'file.csv')                    #读文件数据;有标题
pd.read_table(r'file.csv',sep=',')          #读文件数据;有标题
pd.read_csv('file.csv',header=None)         #读文件数据;无标题
pd.read_csv('file.csv',names=['No','Name']) #读文件数据;无标题;设置列名
pd.read_csv('file.csv',names=['No','Name'],
index_col='No') #将No列放到索引的位置上  
# 实例2:文件写

df.to_csv(r'file.csv',index=False)               #数据写入不含索引,含列名,默认逗号分隔
df.to_csv(r'file.csv',index=False,columns=False) #数据写入不含索引,不含列名,默认逗号分隔
df2.to_csv(r'file.csv')                          #数据写入含索引,含列名,默认逗号分隔  
# 实例3:正则表达式\s+

data=' No Name Weight\n' \
     '0 1001 Tom 20\n' \
     '1 1002 Bob 30\n' \
     '2 -1003 Jim 40\n'
pd.read_csv(StringIO(data), sep=r'\s+')#正则表达式\s+分割不定的空白字符
pd.read_table(r'file_data3.csv',sep=r'\s+')

     No Name Weight
0  1001 Tom  20
1  1002 Bob  30
2 -1003 Jim  40  
# 实例4:处理“坏”行,异形文件 

# 某些文件字段太少将在尾随字段中填充NA值
# 字段太多的行默认会引发错误

data = 'a,b,c\n1,2,3\n4,5,6,7\n8,9,10'
pd.read_csv(StringIO(data))                       #报错第3行字段太多
pd.read_csv(StringIO(data), error_bad_lines=False)#跳过坏线:第3行

  a b c
0 1 2 3
1 8 9 10

#用usecols消除某些行中出现的无关数据列:
pd.read_csv(StringIO(data), usecols=[0, 1, 2])   #选择1,2,3列

  a b c
0 1 2 3
1 4 5 6
2 8 9 10

# 用skiprows跳过文件的第一行、第三行:
df4=pd.DataFrame([['#file_data4 writed by tcy shanghai 2018/12/23'],
                  ['No,Name,Weight'],['#skiprows跳过文件的某一行'],
                  ['1001,Tom,20'],['1002,Bob,30'],['1003,Jim,40']])
df4.to_csv(r'file_data4.csv',header=None,index=False)

# 文件内容如下:
""" 
#file_data4 writed by tcy shanghai 2018/12/23
"No,Name,Weight"
#skiprows跳过文件的某一行
"1001,Tom,20"
"1002,Bob,30"
"1003,Jim,40
"""
pd.read_csv(r'file_data4.csv',sep=',|\"',skiprows=[0,2],engine='python').dropna(axis=1)

    No Name Weight
0 1001 Tom 20
1 1002 Bob 30
2 1003 Jim 40  
# 实例5:指定解析器引擎 

pandas用C解析器engine='c',如不支回退到Python
1)目前C不支持选项包括:
# sep 除单个字符(如正则表达式分隔符)
# skipfooter
# sep=None 同 delim_whitespace=False
2)应指定engine='python',否则会报警 
# 实例6:读取远程文件

# 您可以将URL传递给CSV文件:
df = pd.read_csv('https://download.bls.gov/pub/time.series/cu/cu.item',sep='\t')

# 还会处理S3 URL:
df = pd.read_csv('s3://pandas-test/tips.csv')  

猜你喜欢

转载自blog.csdn.net/tcy23456/article/details/85291123
今日推荐