zoukankan      html  css  js  c++  java
  • 读取,导入等文件csv处理(3)

    '''
    read_csv:从文件,url,文件型对象中加载带分隔符的数据,默认分隔符为逗号
    read_table:从文件,url,文件型对象中加载带分隔符的数据,默认分隔符为制表符("	")
    实质上是通用的,都是返回一个DataFrame,在实际使用中可以通过对sep参数的控制来对任何文本文件读取
    CSV文件和TXT文件是等同的,无论是读取还是写入。另一个相同点是读写速度比EXCEL快,快得多。当然xlsx格式的文件小。
    
    '''
    
    from pandas import read_csv;
    
    df = read_csv("..1.csv",encoding='UTF-8')
    df
    
    from pandas import read_table;
    #seq表示分割的形式
    df = read_table('..2.txt',names=['age', 'name'], sep=',')
    df
    
    from pandas import read_excel;
    df = read_excel("..3.xlsx",sheetname="data")
    df
    
    from pandas import read_table;
    from pandas import DataFrame;
    
    df = read_table('..中文.txt', sep=',', encoding='UTF-8')
    df
    from pandas import DataFrame;
    
    df = DataFrame({
        'age': [21, 22, 23], 
        'name': ['KEN', 'John', 'JIMI']
    });
    
    
    df.to_csv("..f.csv", index=False);

    其他基本处理

    去重
    newDF = df.drop_duplicates();
    
    去数据结构中为空的数据
    newDF = df.dropna()
    
    去除数据两边的空格
    newName = df['name'].str.strip()
    
    字段截取
    df['tel'] = df['tel'].astype(str) #先要把数字转换成字符串格式
    #运营商
    bands = df['tel'].str.slice(0, 3)
    
    字段拆分
    from pandas import Series
    from pandas import DataFrame
    from pandas import read_csv
    df = read_csv("D:\Python\3.2\2.csv")
    newDF = df['name'].str.split(' ', 1, True)
    #‘’表示分割的形式,1,表示分为两列;True。表示扩展。扩展的返回值为DataFrame.相反为Series

    指定条件的高级处理

    随机抽数
    r = numpy.random.randint(0, 10, 3)
    #0-10之间抽3个数字
    
    记录合并
    import pandas
    from pandas import read_csv
    df1 = read_csv("D://4.1//data1.1.csv", sep="|")
    df2 = read_csv("D://4.1//data2.2.csv", sep="|")
    df3 = read_csv("D://4.1//data3.3.csv", sep="|")
    df = pandas.concat([df1, df2, df3])
    
    字段拼接
    from pandas import read_csv;
    df = read_csv(
        "D://PA//4.11//data.csv", 
        sep=" ", 
        names=['band', 'area', 'num']
    );
    df = df.astype(str);
    tel = df['band'] + df['area'] + df['num']
    
    两表精确匹配
    import pandas;
    from pandas import read_csv;
    
    items = read_csv(
        "D://PA//4.12//data1.csv", 
        sep='|', 
        names=['id', 'comments', 'title']
    );
    prices = read_csv(
        "D://PA//4.12//data2.csv", 
        sep='|', 
        names=['id', 'oldPrice', 'nowPrice']
    );
    
    itemPrices = pandas.merge(
        items, #一表
        prices, #二表
        left_on='id', #一表匹配的对象
        right_on='id'#二表匹配的对象
    );

    另外还有时间格式数据的处理

    参考链接:

    https://blog.csdn.net/weixin_42612434/article/details/82759001 

  • 相关阅读:
    PLSQL查询显示乱码或者问号
    Sonar 扫描C#代码 排除文件
    C# 短日期转换为DateTime
    电脑远程连接不上或者ip的地址一直是169.254
    C#导出CSV或者EXCEL文件转换文本
    Oracle 计算两个日期相差天时分秒
    Linux 做网关
    Python 内置函数
    Python Fileinput 模块
    Python-2.7 配置 tab 自动补全功能
  • 原文地址:https://www.cnblogs.com/topass123/p/13227354.html
Copyright © 2011-2022 走看看