精华内容
下载资源
问答
  • Pandas读取CSV文件

    2021-03-12 17:27:44
    Pandas读取CSV文件准备工作CSV文件自带列标题直接读出不更改列标题名把原列标题替换成自已的列标题CSV文件无自带列标题读出数据系统自动给编号给列添加标题总结 准备工作 在任意文件夹下建一个CSV文件,如图下所示。...

    准备工作

    在任意文件夹下建一个CSV文件,如图下所示。
    在这里插入图片描述
    导入pandas

    import pandas as pd
    

    CSV文件自带列标题

    直接读出不更改列标题名

    data=pd.read_csv('c:\\mypatent\\ensemble1E0669\\IE6690pl.csv')
    

    ‘c:\mypatent\ensemble1E0669\IE6690pl.csv’,是CSV文件所在的文件夹路径及文件名
    或者:

    data=pd.read_csv('c:\\mypatent\\ensemble1E0669\\IE6690.csv',header=0)
    data
    

    显示结果
    在这里插入图片描述

    可以看出默认的第一行就是列标题名称。
    也可以直接看列标题名和行索引。
    先看行

    data.index
    

    显示结果:
    RangeIndex(start=0, stop=11, step=1)
    再看下列标题

    data.columns
    

    显示结果:
    Index([‘0.3335’, ‘1.028’, ‘0.269’], dtype=‘object’)

    把原列标题替换成自已的列标题

    data=pd.read_csv('c:\\mypatent\\ensemble1E0669\\IE6690pl.csv')
    data.columns=['A','B','C']
    data
    

    输出结果:
    在这里插入图片描述
    或者采用如下方式:

    data=pd.read_csv('c:\\mypatent\\ensemble1E0669\\IE6690pl.csv',names=['A','B','C'])
    
    data
    

    输出结果是一样的。
    注意:有列标题名和无列标题要搞清楚,否则有可能第一行实际数据被当成了列标题而不参与运算。
    又或者

    data=pd.read_csv('c:\\mypatent\\ensemble1E0669\\IE6690pl.csv',header=0,names=['A','B','C'])
    

    上面三种方法效果是一样的。

    CSV文件无自带列标题

    csv文件没有列标题,从第一行就直接开始是数据了。

    读出数据系统自动给编号

    data=pd.read_csv('c:\\mypatent\\ensemble1E0669\\IE6690pl.csv',header=None)
    data
    

    输出结果如下:
    在这里插入图片描述注意:一定要加’header=None’, 这样读进来的列名就是系统默认的0,1,2… 序列号
    此时可以用系统给的序号进行操作,例如:

    A=data[0]
    B=data[1]
    C=A+B
    C
    

    输出结果:
    在这里插入图片描述

    给列添加标题

    data=pd.read_csv('c:\\mypatent\\ensemble1E0669\\IE6690pl.csv',header=None)
    data.columns=['A','B','C']
    data
    

    输出结果
    在这里插入图片描述
    可看出列添加了新的标题。
    或者采用如下方式。

    data=pd.read_csv('c:\\mypatent\\ensemble1E0669\\IE6690pl.csv',header=None,names=['A','B','C'])
    

    结果是一样。

    注意:此处不可以用’header=0’, 用了会默认第一行数据是列名,然后又被重命名覆盖,结果是第一行的数据丢失。

    总结

    本节讲了Pandas读取CSV文件的方法,希望您能喜欢。

    展开全文
  • 使用pandas读取CSV文件,只需要很简单的两行代码:os.chdir(import_data_path)a = pd.read_csv('filename.csv')今天在这个过程中遇到两个问题,记录一下。一、OSError: Initializing from file failed文件还没开始...

    使用pandas读取CSV文件,只需要很简单的两行代码:

    os.chdir(import_data_path)

    a = pd.read_csv('filename.csv')

    今天在这个过程中遇到两个问题,记录一下。

    一、OSError: Initializing from file failed

    文件还没开始读取,就已经失败了,查了一下是文件路径import_data_path包含中文的问题。把import_data_path修改成全英文,问题就解决了。在中文路径前加上“u”不能解决问题。

    有一点奇怪,我使用的是Anaconda3,python3对中文的支持已经很好,每一个文件都自带utf-8编码方式的指定。当我把csv另存为excel,使用pd.ExcelFile来读取的时候,即使文件路径包含中文,都不会报错。

    os.chdir(import_data_path)

    xls_file = pd.ExcelFile('filename.xlsx')

    a = xls_file.parse('sheetname')

    二、UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb5 in position 0: invalid start byte

    这是因为CSV文件保存时没有用'utf-8' 编码。使用记事本打开csv文件,另存为utf-8编码的文件,就解决了。如下图。

    当CSV的数据量很大时(百万),记事本打开会很慢。建议用EmEditor打开再另存为。

    展开全文
  • pandas读取csv文件

    2020-08-17 17:51:19
    pandas读取与保存csv文件 我们先创建一个15行4列的a.csv文件,用于下列案例之用: import pandas as pd import numpy as np # 创建一个csv文件 a = np.arange(60).reshape(15,4) a = pd.DataFrame(a,columns=("a",...

    pandas读取与保存csv文件

    我们先创建一个15行4列的a.csv文件,用于下列案例之用:

    import pandas as pd
    import numpy as np
    
    # 创建一个csv文件
    a = np.arange(60).reshape(15,4)
    a = pd.DataFrame(a,columns=("a","b","c","d"))
    print(a,"\n")
    a.to_csv("./a.csv",index=False)
    

    文件内容如下:
    在这里插入图片描述

    pd.read_csv()的常用参数如下:

    • filepath_or_buffer:– str 文件路径,可以是本地路径,也可以是url路径
    • sep:指定分隔符,默认","
    • header: –int 指定列名:header=0为默认值,表示数据第一行为列名;header=None表示数据没有列名(为0,1,2,3,4……),原列名变为第0行数据。

    如案例1:

    # 案例1:filepath_or_buffer、sep、header的使用
    # header=0时(默认)
    path = "./data/a.csv"
    df = pd.read_csv(path,sep=",",header=0)
    print(df.head(),"\n\n")  # 输出前5行
    
    # header = None时
    df = pd.read_csv(path,sep=",",header=None)
    print(df.head(),"\n\n")
    

    输出如下:
    在这里插入图片描述

    • names: –list 指定列名,当文件含有列名时会覆盖,没有类名是直接赋值

    如案例2:

    # 案例2:names指定列名
    df = pd.read_csv(path,names=["A","B","C","D"])
    print(df.head(),"\n\n")
    

    输出如下:
    在这里插入图片描述

    • encoding:指定编码格式,默认为utf-8。
    • index_col:–str/list 指定索引,可以是单列也可以是多列

    如案例3:

    # 案例3:指定索引
    # b列为索引
    df = pd.read_csv(path,index_col="b")
    print(df.head(),"\n\n")
    
    # ab两列为索引
    df = pd.read_csv(path,index_col=["a","b"])
    print(df.head())
    

    输出如下:
    在这里插入图片描述

    • usecols: –str/list 指定读取的列,默认读取全部列
    • nrows:–int 仅读取前多少行(不包括此行)
    • skiprows:–int 跳过指定行数,开始读取(包括此行),注意必要时要指定列名,否则根据header=0当前行会为列名

    如案例4:

    # 案例4:usecols、nrows、skiprows的使用
    # 只读取bc列
    df = pd.read_csv(path,usecols=("b","c"))
    print(df.head(),"\n\n")
    
    # 读取前6行
    df = pd.read_csv(path,nrows=6)
    print(df,"\n\n")
    
    # 从第6行开始读取
    df = pd.read_csv(path,skiprows=6,names=list("abcd"))
    print(df.head(),"\n\n")
    

    输出如下:
    在这里插入图片描述
    案例代码已托管到码云

    展开全文
  • pandas 读取csv文件

    2019-07-08 11:20:14
    通过os.getcwd可查询目前工作目录,将result.csv文件放入目录后可以解决。 但如果文件不在这个目录又如何? 直接调用文件路径出问题,因为Windows系统目录命名方式是‘c:\\users\...’ 但是python中,\t,\n这些字符...

    今天开始研究pandas 数据分析,文件读取时出现问题

    通过 os.getcwd 可查询目前工作目录,将 result.csv文件放入目录后可以解决。
    但如果文件不在这个目录又如何?
    直接调用文件路径出问题,因为Windows系统目录命名方式 是 ‘c:\\users\...’
    但是python中,\t ,\n这些字符是有其他含义的,因此 用 ‘c:/users/...’的形式来命名。
    结果依旧不成功,后来发现有人用  ‘C:/users/.../result.csv’,encoding=’gbk’)来处理,问题得以解决。

    也可以通过

    pd.read_csv(U"C:/Users/.../result.csv") 读取

     

    展开全文

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,287
精华内容 1,714
关键字:

pandas读取csv文件