精华内容
下载资源
问答
  • pd.read_csv()参数

    千次阅读 2019-07-05 12:19:05
    df = pd.read_csv('tmp.csv', header=None, parse_dates=[[1, 2], [1, 3]],keep_date_col=True) 默认情况下,解析器会删除组件日期列,但您可以通过“保留日期”列选择保留它们。 df = pd.read_csv('tmp.csv', ...
    filepath_or_buffer : various   文件路径
    sep 以什么分割
    delimiter : str, default None   以什么分割默认为none
    delim_whitespace : boolean, default False   Equivalent to setting sep='\s+'
    header : int or list of ints, default 'infer'   header=0表示文件的第一行
    也可以写header=[1,2,3]当列名   要是没有列名可以这样header=None一般和names用在一起
    names 表示用的列名用列表来装,最好不要有重复值,别忘记rename方法
    index_col : int or sequence or False, default None  指定那一列作为行的索引,可以是数字可以是列表,要是最后有分隔符的话可以把index_col=False
    usecols : list-like or callable, default None    返回给的列表的子集,需要看你自己想要哪一列的数据,如   usecols=[1, 5]只会读取第一和第5列,也可以是自己定义的列名
    from pandas.compat import StringIO, BytesIO
    data = ('col1,col2,col3\n''a,b,1\n''a,b,2\n''c,d,3')
    pd.read_csv(StringIO(data))
    squeeze : boolean, default False  解析的数据如果只返回1列则返回Series
    prefix : str, default None 在没有标题的时候添加列号的前缀, 你可以这样用header=None, prefix='x'
    mangle_dupe_cols : boolean, default True   把重复的列设置为X’, ‘X.1’…’X.N’
    dtype : Type name or dict of column -> type, default None
    dtype : Type name or dict of column -> type, default None 读取数据的时候设置各个列的不同的类型
    可以是这样{'a': str}, str
    engine : {'c', 'python'}   支持的引擎,c 的引擎是最快的但是python引擎兼容性更强
    converters : dict, default None  在某一列中转换值我的用法是converters={'col1': lambda x: x.upper()}  感觉和apply用起来差不多
    true_values : list, default None   把列表中的值设置为True
    false_values    把列表中的值设置为False 例如   false_false=['我'] 就会把是‘我’的字全部变为False
    skipinitialspace : boolean, default False  跳过分隔符后的空格
    skiprows : list-like or integer, default None   跳过开头的几行
    pd.read_csv(StringIO(data), skiprows=lambda x: x % 2 != 0)
    skipfooter : int, default 0
    nrows   用来读取的文件的行数一般用来读取大文件时候用的
    memory_map : boolean, default False   如果为filepath_或_缓冲区提供了filepath,请将文件对象直接映射到内存中,并从内存中直接访问数据。使用此选项可以提高性能,因为不再有任何I/O开销。
    na_values : scalar, str, list-like, or dict, default None  把什么值设置为Nan比如吧bat设置为Nan值可以这样na_values=['bat]
    keep_default_na : boolean, default True
    
    na_filter : boolean, default True  如果=False 前面2项设置无效
    在没有na值的文件里面=False可以提高大型文件的读取速度
    verbose : boolean, default False
    skip_blank_lines : boolean, default True  如果为真,则跳过空行,而不是将其解释为NaN值。
    parse_dates : boolean or list of ints or names or list of lists or dict, default False.
    If True -> try parsing the index.    会自动分析日期
    If [1, 2, 3] -> try parsing columns 1, 2, 3 each as a separate date column.
    If [[1, 3]] -> combine columns 1 and 3 and parse as a single date column.
    If {'foo': [1, 3]} -> parse columns 1, 3 as date and call result ‘foo’. A fast-path exists for iso8601-formatted dates.
    infer_datetime_format : boolean, default False
    If True and parse_dates is enabled for a column, attempt to infer the datetime format to speed up the processing.
    keep_date_col : boolean, default False
    If True and parse_dates specifies combining multiple columns then keep the original columns.
    date_parser : function, default None
    dayfirst : boolean, default False
    DD/MM format dates, international and European format.
    iterator : boolean, default False 返回textfileReader对象进行迭代或使用get_chunk()获取块。
    chunksize : int, default None
    compression : {'infer', 'gzip', 'bz2', 'zip', 'xz', None}, default 'infer'}
    用于动态解压缩磁盘上的数据。如果filepath_或_buffer是分别以“.gz”、“.bz2”、“.zip”或“.xz”结尾的字符串,则使用gzip、bz2、zip或xz,否则不进行解压缩。如果使用“zip”,则zip文件只能包含一个要读取的数据文件。设置为“None”表示无解压缩。
    thousands : str, default None  千位分隔符
    decimal : str, default '.'
    要识别为小数点的字符。例如,使用“,”作为欧洲数据。
    float_precision : string, default None
    comment : str, default None
    encoding : str, default None
    error_bad_lines : boolean, default True    是否跳过错误的行  默认是不跳过2
    warn_bad_lines : boolean, default True
    df['col_1'].apply(type).value_counts()
    df2['col_1'] = pd.to_numeric(df2['col_1'], errors='coerce')
    最后,如何处理包含混合数据类型的列中的读取取决于您的特定需求。在上面的例子中,如果您想消除数据异常,那么使用to_numeric()可能是您的最佳选择。但是,如果您希望强制所有数据,不管是哪种类型,那么使用read_csv()的converters参数肯定是值得尝试的。
    rom pandas.api.types import CategoricalDtype
    dtype = CategoricalDtype(['a', 'b', 'd'])  # No 'c'
    pd.read_csv(StringIO(data), dtype={'col1': dtype}).col1
    df['col3'].cat.categories = pd.to_numeric(df['col3'].cat.categories)
    pd.read_csv(StringIO(data), usecols=[0, 2, 3])
    pd.read_csv(StringIO(data), usecols=lambda x: x.upper() in ['A', 'C'])
    pd.read_csv(StringIO(data), usecols=lambda x: x not in ['a', 'c'])
    忽略行注释和空行
    data = ('\n'
       ....:         'a,b,c\n'
       ....:         '  \n'
       ....:         '# commented line\n'
       ....:         '1,2,3\n'
       ....:         '\n'
       ....:         '4,5,6')
    pd.read_csv(StringIO(data), comment='#')
    If skip_blank_lines=False, then read_csv will not ignore blank lines:
    data = ('a,b,c\n'
       ....:         '\n'
       ....:         '1,2,3\n'
       ....:         '\n'
       ....:         '\n'
       ....:         '4,5,6')
    pd.read_csv(StringIO(data), skip_blank_lines=False)
    data = ('#comment\n'
       ....:         'a,b,c\n'
       ....:         'A,B,C\n'
       ....:         '1,2,3')
     pd.read_csv(StringIO(data), comment='#', header=1)
    data = ('A,B,C\n'
       ....:         '#comment\n'
       ....:         'a,b,c\n'
       ....:         '1,2,3')
    pd.read_csv(StringIO(data), comment='#', skiprows=2)
    data = ('# empty\n'
       ....:         '# second empty line\n'
       ....:         '# third emptyline\n'
       ....:         'X,Y,Z\n'
       ....:         '1,2,3\n'
       ....:         'A,B,C\n'
       ....:         '1,2.,4.\n'
       ....:         '5.,NaN,10.0\n')
    pd.read_csv(StringIO(data), comment='#', skiprows=4, header=1)
    当文件在每个数据行的末尾都准备了分隔符时,会出现一些异常情况,这会混淆解析器。若要显式禁用索引列推理并放弃最后一列,请通过index_col=False:
     pd.read_csv(StringIO(data), index_col=False)
     df = pd.read_csv('foo.csv', index_col=0, parse_dates=True)
    KORD,19990127, 19:00:00, 18:56:00, 0.8100
    KORD,19990127, 20:00:00, 19:56:00, 0.0100
    KORD,19990127, 21:00:00, 20:56:00, -0.5900
    KORD,19990127, 21:00:00, 21:18:00, -0.9900
    KORD,19990127, 22:00:00, 21:56:00, -0.5900
    KORD,19990127, 23:00:00, 22:56:00, -0.5900
    df = pd.read_csv('tmp.csv', header=None, parse_dates=[[1, 2], [1, 3]])
                      1_2                 1_3     0     4
    0 1999-01-27 19:00:00 1999-01-27 18:56:00  KORD  0.81
    1 1999-01-27 20:00:00 1999-01-27 19:56:00  KORD  0.01
    2 1999-01-27 21:00:00 1999-01-27 20:56:00  KORD -0.59
    3 1999-01-27 21:00:00 1999-01-27 21:18:00  KORD -0.99
    4 1999-01-27 22:00:00 1999-01-27 21:56:00  KORD -0.59
    5 1999-01-27 23:00:00 1999-01-27 22:56:00  KORD -0.59
    df = pd.read_csv('tmp.csv', header=None, parse_dates=[[1, 2], [1, 3]],keep_date_col=True)
    默认情况下,解析器会删除组件日期列,但您可以通过“保留日期”列选择保留它们。
    df = pd.read_csv('tmp.csv', header=None, parse_dates=[[1, 2], [1, 3]],keep_date_col=True)
                      1_2                 1_3     0         1          2          3     4
    0 1999-01-27 19:00:00 1999-01-27 18:56:00  KORD  19990127   19:00:00   18:56:00  0.81
    1 1999-01-27 20:00:00 1999-01-27 19:56:00  KORD  19990127   20:00:00   19:56:00  0.01
    2 1999-01-27 21:00:00 1999-01-27 20:56:00  KORD  19990127   21:00:00   20:56:00 -0.59
    3 1999-01-27 21:00:00 1999-01-27 21:18:00  KORD  19990127   21:00:00   21:18:00 -0.99
    4 1999-01-27 22:00:00 1999-01-27 21:56:00  KORD  19990127   22:00:00   21:56:00 -0.59
    5 1999-01-27 23:00:00 1999-01-27 22:56:00  KORD  19990127   23:00:00   22:56:00 -0.59
    请注意,如果要将多个列合并为单个日期列,则必须使用嵌套列表。换言之,parse_dates=[1,2]表示第二列和第三列应分别分析为单独的日期列,parse_dates=[[1,2]]表示两列应分析为单个列。
    date_spec = {'nominal': [1, 2], 'actual': [1, 3]}
    df = pd.read_csv('tmp.csv', header=None, parse_dates=date_spec)
                  nominal              actual     0     4
    0 1999-01-27 19:00:00 1999-01-27 18:56:00  KORD  0.81
    1 1999-01-27 20:00:00 1999-01-27 19:56:00  KORD  0.01
    2 1999-01-27 21:00:00 1999-01-27 20:56:00  KORD -0.59
    3 1999-01-27 21:00:00 1999-01-27 21:18:00  KORD -0.99
    4 1999-01-27 22:00:00 1999-01-27 21:56:00  KORD -0.59
    5 1999-01-27 23:00:00 1999-01-27 22:56:00  KORD -0.59
    date_spec = {'nominal': [1, 2], 'actual': [1, 3]}
    重要的是要记住,如果要将多个文本列解析为单个日期列,则数据前面会有一个新列。索引列规范基于这组新列,而不是原始数据列:
    df = pd.read_csv('tmp.csv', header=None, parse_dates=date_spec,index_col=0)
                                 actual     0     4
    nominal                                            
    1999-01-27 19:00:00 1999-01-27 18:56:00  KORD  0.81
    1999-01-27 20:00:00 1999-01-27 19:56:00  KORD  0.01
    1999-01-27 21:00:00 1999-01-27 20:56:00  KORD -0.59
    1999-01-27 21:00:00 1999-01-27 21:18:00  KORD -0.99
    1999-01-27 22:00:00 1999-01-27 21:56:00  KORD -0.59
    1999-01-27 23:00:00 1999-01-27 22:56:00  KORD -0.59
    可以自己定义时间日期解析函数,以保证数据的灵活性
    df = pd.read_csv('tmp.csv', header=None, parse_dates=date_spec,date_parser=pd.io.date_converters.parse_date_time)
                  nominal              actual     0     4
    0 1999-01-27 19:00:00 1999-01-27 18:56:00  KORD  0.81
    1 1999-01-27 20:00:00 1999-01-27 19:56:00  KORD  0.01
    2 1999-01-27 21:00:00 1999-01-27 20:56:00  KORD -0.59
    3 1999-01-27 21:00:00 1999-01-27 21:18:00  KORD -0.99
    4 1999-01-27 22:00:00 1999-01-27 21:56:00  KORD -0.59
    5 1999-01-27 23:00:00 1999-01-27 22:56:00  KORD -0.59
    If you know the format, use pd.to_datetime(): date_parser=lambda x: pd.to_datetime(x, format=...).
    0    2000-01-01 00:00:00+05:00
    1    2000-01-01 00:00:00+06:00
    df = pd.read_csv(StringIO(content), parse_dates=['a'],date_parser=lambda col: pd.to_datetime(col, utc=True))
    0   1999-12-31 19:00:00+00:00
    1   1999-12-31 18:00:00+00:00
    Name: a, dtype: datetime64[ns, UTC]
    请注意,推断日期时间格式对dayFirst敏感。如果dayFirst=true,则猜测“01/12/2011”为12月1日。如果dayFirst=false(默认),则猜测“01/12/2011”为1月12日。
    df = pd.read_csv('foo.csv', index_col=0, parse_dates=True,infer_datetime_format=True)
                A  B  C
    date               
    2009-01-01  a  1  2
    2009-01-02  b  3  4
    2009-01-03  c  4  5
    val = '0.3066101993807095471566981359501369297504425048828125'
    data = 'a,b,c\n1,2,{0}'.format(val)
    abs(pd.read_csv(StringIO(data), engine='c',float_precision=None)['c'][0] - float(val))
    默认情况下,带有千位分隔符的数字将被分析为字符串:
    df = pd.read_csv('tmp.csv', sep='|')
             ID      level category
    0  Patient1    123,000        x
    1  Patient2     23,000        y
    2  Patient3  1,234,018        z
    pd.read_csv('path_to_file.csv', na_values=[5])
    pd.read_csv('path_to_file.csv', keep_default_na=False, na_values=[""])  只有一个空字段才会设置为Nan的值
    pd.read_csv('path_to_file.csv', keep_default_na=False, na_values=["NA", "0"])
    pd.read_csv('path_to_file.csv', na_values=["Nope"])
    类似inf的值将被解析为np.inf(正无穷大),而-inf将被解析为-np.inf(负无穷大)。这些将忽略值的大小写,即inf,也将被解析为np.inf。
    某些文件的行格式可能不正确,字段太少或太多。字段太少的行将在尾部字段中填充NA值。字段太多的行将在默认情况下引发错误:
    解决方法You can elect to skip bad lines:
    # data = ('a,b,c\n''1,2,3\n''4,5,6,7\n''8,9,10')
    pd.read_csv(StringIO(data), error_bad_lines=False)
    df = pd.read_csv(StringIO(data))
    pd.read_csv(StringIO(data), usecols=[0, 1, 2])
    Dialect  感觉是解析方法把,我也不懂
    import csv
    dia = csv.excel()
    dia.quoting = csv.QUOTE_NONE
    pd.read_csv(StringIO(data), dialect=dia)
    pd.read_csv(StringIO(data), skipinitialspace=True)    跳过分隔符后面的空格
    data = 'a,b\n"hello, \\"Bob\\", nice to see you",5'
    pd.read_csv(StringIO(data), escapechar='\\')
    df = pd.read_csv('foo.csv', parse_dates=True)   # 可以自动分析日期
    pd.read_csv('mi.csv', header=[0, 1, 2, 3], index_col=[0, 1])
    df = pd.read_csv('D:/data/20190704_mvs.csv', sep=None, engine='python', encoding='utf-8')
    可以自动的嗅探分割符号
    reader = pd.read_csv('tmp.sv', sep='|', iterator=True)
    reader.get_chunk(5)
    
    

     

    展开全文
  • pd.read_csv用法

    万次阅读 多人点赞 2019-04-17 22:16:39
    pd.read_csv(filepath_or_buffer, sep=’, ‘, delimiter=None, header=’infer’, names=None, index_col=None, usecols=None, squeeze=False, prefix=None, mangle_dupe_cols=True, dtype=None, engine=None, ...

    pd.read_csv(filepath_or_buffer, sep=’, ‘, delimiter=None, header=’infer’, names=None, index_col=None, usecols=None, squeeze=False, prefix=None, mangle_dupe_cols=True, dtype=None, engine=None, converters=None, true_values=None, false_values=None, skipinitialspace=False, skiprows=None, nrows=None, na_values=None, keep_default_na=True, na_filter=True, verbose=False, skip_blank_lines=True, parse_dates=False, infer_datetime_format=False, keep_date_col=False, date_parser=None, dayfirst=False, iterator=False, chunksize=None, compression=’infer’, thousands=None, decimal=b’.’, lineterminator=None, quotechar=’”’, quoting=0, escapechar=None, comment=None, encoding=None, dialect=None, tupleize_cols=None, error_bad_lines=True, warn_bad_lines=True, skipfooter=0, skip_footer=0, doublequote=True, delim_whitespace=False, as_recarray=None, compact_ints=None, use_unsigned=None, low_memory=True, buffer_lines=None, memory_map=False, float_precision=None)

    import numpy as np
    import pandas as pd
    from pandas import DataFrame
    
    filepath="C:\\Users\\zhouy_000\\Desktop\\python_study\\20190417\\test.csv"
    df=pd.read_csv(filepath,header=0,encoding="gbk")
    print(df)
    # =============================================================================
    #    姓名  年龄         出生日  爱好   关系
    # 0  小王  23   1991/10/2  足球   朋友
    # 1  小丽  23   1992/11/2  篮球  NaN
    # 2  小黑  25  1991/10/18  游泳   同学
    # 3  小白  21    1989/9/9  游戏  NaN
    # 4  小红  25    1990/8/7  看剧  NaN
    # 5  小米  24  1991/12/12  足球  NaN
    # 6  大锤  26    1988/9/9  看剧   个人
    # =============================================================================
    df=pd.read_csv(filepath,header=None,encoding="gbk",names=["A","B","C","D","E"],
                   skiprows=1,skipfooter=1,usecols=["A","B","C"],index_col=0,engine="python")
    print(df)
    # =============================================================================
    #      B           C
    # A                 
    # 小王  23   1991/10/2
    # 小丽  23   1992/11/2
    # 小黑  25  1991/10/18
    # 小白  21    1989/9/9
    # 小红  25    1990/8/7
    # 小米  24  1991/12/12
    # 
    # =============================================================================

    重要参数:

    filepath_or_buffer : 路径 URL 可以是http, ftp, s3, 和 file.

    sep: 指定分割符,默认是’,’C引擎不能自动检测分隔符,但Python解析引擎可以

    delimiter: 同sep

    delimiter_whitespace: True or False 默认False, 用空格作为分隔符等价于spe=’\s+’如果该参数被调用,则delimite不会起作用

    header: 指定第几行作为列名(忽略注解行),如果没有指定列名,默认header=0; 如果指定了列名header=None

    names 指定列名,如果文件中不包含header的行,应该显性表示header=None

    index_col: 默认为None 用列名作为DataFrame的行标签,如果给出序列,则使用MultiIndex。如果读取某文件,该文件每行末尾都有带分隔符,考虑使用index_col=False使panadas不用第一列作为行的名称。

    usecols: 默认None 可以使用列序列也可以使用列名,如 [0, 1, 2] or [‘foo’, ‘bar’, ‘baz’],选取的列

    as_recarray:默认False , 将读入的数据按照numpy array的方式存储,0.19.0版本后使用 pd.read_csv(…).to_records()。 注意,这种方式读入的na数据不是显示na,而是给以个莫名奇妙的值

    squeeze: 默认为False, True的情况下返回的类型为Series

    prefix:默认为none, 当header =None 或者没有header的时候有效,例如’x’ 列名效果 X0, X1, …

    mangle_dupe_cols :默认为True,重复的列将被指定为’X.0’…’X.N’,而不是’X’…’X’。如果传入False,当列中存在重复名称,则会导致数据被覆盖。

    dtype: E.g. {‘a’: np.float64, ‘b’: np.int32} 指定数据类型

    engine: {‘c’, ‘python’}, optional 选择读取的引擎目前来说C更快,但是Python的引擎有更多选择的操作

    skipinitialspace: 忽略分隔符后的空格,默认false,

    skiprows: list-like or integer or callable, default None 忽略某几行或者从开始算起的几行

    skipfooter: 从底端算起的几行,不支持C引擎

    nrows: int 读取的行数

    na_values: 默认None NaN包含哪些情况,默认情况下, ‘#N/A’, ‘#N/A N/A’, ‘#NA’, ‘-1.#IND’, ‘-1.#QNAN’, ‘-NaN’, ‘-nan’, ‘1.#IND’, ‘1.#QNAN’, ‘N/A’, ‘NA’, ‘NULL’, ‘NaN’, ‘n/a’, ‘nan’, ‘null’. 都表现为NAN

    keep_default_na: 如果na_values被定义,keep_default_na为False那么默认的NAN会被改写。 默认为True

    na_filter: 默认为True, 针对没有NA的文件,使用na_filter=false能够提高读取效率

    skip_blank_lines 默认为True,跳过blank lines 而且不是定义为NAN

    thousands 千分位符号,默认‘,’

    decimal 小数点符号,默认‘.’

    encoding: 编码方式

    memory_map如果为filepath_or_buffer提供了文件路径,则将文件对象直接映射到内存上,并直接从那里访问数据。使用此选项可以提高性能,因为不再有任何I / O开销。

    low_memory 默认为True 在块内部处理文件,导致分析时内存使用量降低,但可能数据类型混乱。要确保没有混合类型设置为False,或者使用dtype参数指定类型。请注意,不管怎样,整个文件都读入单个DataFrame中,请使用chunksize或iterator参数以块形式返回数据。 (仅在C语法分析器中有效)

    注:与read_excel类似

    参考:https://blog.csdn.net/weixin_39175124/article/details/79434022

    以上,记录本人学习过程。

    展开全文
  • 将路径和文件名字都改成英文的 例如 data=pd.read_csv("linghuigui.csv") print (data) 2.第二种方法是函数里面加一个参数:engine=‘python’ 这样的话路径或者是文件是中文的就没事了 data1=pd.read_csv("岭回归....

    原因

    读取的路径或者是读取的文件名字有中文

    解决方法

    1.将路径和文件名字都改成英文的
    例如

    data=pd.read_csv("linghuigui.csv")
    print (data)
    

    2.第二种方法是函数里面加一个参数:engine=‘python’
    这样的话路径或者是文件是中文的就没事了

    data1=pd.read_csv("岭回归.csv",engine='python')
    
    展开全文
  • pd.read_csv() 和pd.to_csv() 常用参数

    千次阅读 2020-03-24 11:18:47
    一、pd.read_csv() 作用:将csv文件读入并转化为数据框形式。 filepath_or_buffer: Union[str, pathlib.Path, IO[~AnyStr]], sep=',', delimiter=None, header='infer', names=None, index_col=None, usecols=...

    官网:https://pandas.pydata.org/docs/reference/api/pandas.read_csv.html#pandas.read_csv

    一、pd.read_csv()

    作用:将csv文件读入并转化为数据框形式。

    filepath_or_buffer: Union[str, pathlib.Path, IO[~AnyStr]], sep=',', delimiter=None, 
    header='infer', names=None, index_col=None, usecols=None, squeeze=False, prefix=None, 
    mangle_dupe_cols=True, dtype=None, engine=None, converters=None, true_values=None, 
    false_values=None, skipinitialspace=False, skiprows=None, skipfooter=0, nrows=None, 
    na_values=None, keep_default_na=True, na_filter=True, verbose=False, skip_blank_lines=True, 
    parse_dates=False, infer_datetime_format=False, keep_date_col=False, date_parser=None, 
    dayfirst=False, cache_dates=True, iterator=False, chunksize=None, compression='infer', 
    thousands=None, decimal: str = '.', lineterminator=None, quotechar='"', quoting=0, 
    doublequote=True, escapechar=None, comment=None, encoding=None, dialect=None, 
    error_bad_lines=True, warn_bad_lines=True, delim_whitespace=False, low_memory=True, 
    memory_map=False, float_precision=None
    

    参数虽多,但常用的参数屈指可数,下面简单介绍一下常用参数:

    1.filepath_or_buffer:str

    表示文件所在处的路径。(唯一一个必须有的参数,其它按要求选用)

    任何有效的字符串路径都是可以接受的。该字符串可以是URL。有效的URL方案包括http,ftp,s3和file。

    2.sep:str

    指定分隔符。默认为“,”。

    3.delimiter:str

    定界符,备选分隔符(如果指定该参数,则sep参数失效)。默认为None。

    4.header:int,list

    指定哪一行作为表头。默认为0(即第一行作为表头),如果没有表头的话,设置header=None。

    5.names:array

    指定列的名称。一般我们没有表头,即header=None时,这个用来添加列名就很有用滴!

    6.index_col:int,str,int / str的序列,

    指定哪一列数据作为行索引,可以是一列,也可以多列。多列的话,会看到一个分层索引。默认为False。

    7.prefix:str

    给列名添加前缀。如prefix="x",会出来"x1"、"x2"。

    8.nrows:int

    要读取的文件行数。对于读取大文件很有用。

    9.skiprows:list-like, int

    文件开头要跳过的行号(索引为0)或要跳过的行数(整数)。

    10.encoding:str

    读/写时用于UTF的编码(例如'utf-8')。乱码时需考虑。

     

    二.pd.to_csv()

    作用:将数据框写入本地电脑,保存。

    以下代码了解当前工作路径。

    import os
    father_path = os.getcwd()
    father_path
    

    基本格式:

    import pandas as pd
    
    pd.to_csv(path_or_buf,sep,na_rep,columns,header,index)

    常用参数介绍:

    1.path_or_buf:str

    放文件名、相对路径、文件流等。

    2.sep:str

    分隔符。与read_csv()中sep参数意思一样。

    3.na_rep:str

    将NaN转换为特定值。

    4.columns:list

    指定哪些列写进去。

    5.header

    默认header=0,如果没有表头,设置header=None。

    6.index

    关于索引的,默认True,写入索引。

     

     

     

    展开全文
  • pandas.read_csv可以读取CSV(逗号分割)文件、文本类型的文件text、log类型到DataFrame 一、pandas.read_csv常用参数整理 也支持文件的部分导入和选择迭代,更多帮助参见:...
  • 一般若是用pd.read_csv("xxx.csv")这种直接调用文件名字xxx时,系统默认是在程序运行的位置中找xxx。这种情况下需要用下述两行代码得到程序运行的位置。 import os os.getcwd() 接着将xxx.csv移到刚刚两句代码...
  • pd.read_csv报错

    2019-08-30 16:12:28
    利用pandas的read_csv常规读入CSV数据。...df=pd.read_csv(path,encoding='utf8',low_memory=False) 报错: 卸载pandas,重装pandas。 再次读取数据,仍报错: 网上查找资料有几个解决方法: 1.把当前路...
  • pd.read_csv

    2019-03-30 18:59:52
    1. pd.read_csv() df = pd.read_csv(data_file, header=0, names=['year','population'] df= pd.read_csv(file_messy, delimiter=' ', header=3, comment='#') 1)header: header=None, 那么表示原始文件数据没有...
  • python用pd.read_csv()方法来读取csv文件

    万次阅读 多人点赞 2020-02-12 21:37:55
    csv文件是一种用,和换行...pandas提供了pd.read_csv()方法可以读取其中的数据并且转换成DataFrame数据帧。python的强大之处就在于他可以把不同的数据库类型,比如txt/csv/.xls/.sql转换成统一的DataFrame格式然后进...
  • df = pd.read_csv(path file, sep='None') ,好不容易读取出来,又不是我想要的形式。 df = pd.read_csv(path1file, sep='None') print(df.shape, df.columns) (101, 1) Index(['col1,col2,col3,col4,col5,col6,...
  • pd.read_csv() 、to_csv() 之 常用参数

    千次阅读 2019-01-25 23:46:00
    本文简单介绍一下read_csv()和 to_...一.pd.read_csv() 作用:将csv文件读入并转化为数据框形式。 pd.read_csv(filepath_or_buffer, sep=',', delimiter=None, header='infer', names=None, index_col=None, usecol...
  • 关于pd.read_csv() 读数据的注意事项 实验数据:adult.data 编译环境:pycharm 代码编写:Sublime Text3 ① import pandas as pd #加载数据 df = pd.read_csv( '.\\adult.data' )#请将adult.data和当前.py...
  • pd.read_csv()常用参数

    千次阅读 2020-07-31 20:59:40
    pd.read_csv() pd.read_csv(filepath_or_buffer, sep=',', delimiter=None, header='infer', names=None, index_col=None, usecols=None, squeeze=False, prefix=None, mangle_dupe_cols=True, dtype=None, engine=...
  • pd.read_csv()读取文件失败,路径错误 原因 在windows系统当中读取文件路径可以使用\ ,但是在python字符串中\有转义的含义,如\t可代表TAB,\n代表换行,所以我们需要采取一些方式使得\不被解读为转义字符。 解决...
  • csv中的时间字符串转换成日期格式 1、准备数据 TestTime.csv文件: "name","time","date" 'Bob',21:33:30,2019-10-10 'Jerry',21:30:15,2019-10-10 'Tom',21:25:30,2019-10-10 'Vince',21:20:10,2019-10-10 'Hank'...
  • import pandas as pd ''' with open("numbers.txt","w") as file_object: a = 1 b = 11 for i in range(10): for j in range(a,b): file_object.write(str(j) + " ") a += 10 b += 10 file_o
  • python pd.read_csv()函数

    千次阅读 2020-04-27 16:00:03
    csv格式说明: CSV文件是一个纯文本文件,最早用在简单的数据库里,其格式简单,具备很强的开放性,非常容易被导入各种PC表格及数据库,比如Excel表格等。 CSV文件中每行相当于一条记录(相当于数据表中的一行),用...
  • 方法一: df = pd.read_csv('1.csv', engine='')
  • train_df = pd.read_csv('data/train.csv') # 读取csv train_df如下: 可以看到表头没有名,下面进行加表头 import pandas as pd colname=['filename','label'] train_df = pd.read_csv('data/train.csv',header=...
  • 利用pd.read_csv读取文件加载时,默认会将文件中缺失的数据自动填充为NaN,如果想指定缺失数据的填充值,则可以利用里面的na_values参数。 import pandas as pd data=pd.read_csv("./selectRefer10PerClass0317.txt...
  • pd.read_csv('demo.csv' ,parse_dates = ['col1'] # 待转换为**datetime64[ns]**格式的列→col1 ,infer_datetime_format=True # 将parse_dates指定的列转换为时间 ) 参考资料之一:pd.read_csv参数
  • pd.read_csv()函数

    千次阅读 2020-04-14 09:47:21
    pd.read_csv()用于读取csv文件。CSV (Comma Separated Vaules) 格式是电子表格和数据库中最常见的输入、输出文件格式。
  • pd.read_csv处理含中文的文件

    千次阅读 2019-04-10 19:56:34
    使用pd.read_csv读入含中文的csv文件时,会出现错误,需要设置encoding参数,命令如下: import pandas as pd afile=pd.read_csv("testfile1.csv",encoding="gbk") print(afile) 输出为: ID sex subject ...
  • pd.read_csv参数详解

    千次阅读 2019-03-31 10:24:54
    pd.read_csv参数详解 转自:https://www.cnblogs.com/datablog/p/6127000.html 参数: filepath_or_buffer : str,pathlib。str, pathlib.Path, py._path.local.LocalPath or any object with a read() method (such...
  • pd.read_csv读取指定的行数或列数

    万次阅读 2020-08-04 22:11:37
    df = pd.read_csv('0728.csv',sep=',') df 如上图所示,有时候直接读取文件,会多出一些空白列。为了去掉这些空白列,我们可以用usecols参,确定好要读取的列数,直接加参即可。 list_a = np.arange(12) df = pd....
  • pd.read_csv()忽略源文件索引

    千次阅读 2019-10-18 18:48:11
    如下图,直接读取csv文件,原csv文件中索引列没有名字,读入python后自动加了名字叫做unnamed: 0 源文件: 读入python: 问题:如何不读入索引列,或者读入时直接命名 ...df = pd.read_csv('path', he...
  • pd.read_csv读取文件不存在怎么办

    千次阅读 2020-07-28 20:42:01
    File ‘C:\user\admin\xxx.csv’ not existing in ‘C:\user\admin\xxx.csv’ 一个小小的读取问题也是很恼火的,陆陆续续一个小时才解决,写在这里给跟我碰到同样问题的朋友们一点指引吧,希望能帮助到你们。 检查...
  • 我们在读取csv文件的时候,有的时候可能没有表头,或者想换一个表头,该怎么操作? df = pd.read_csv('data.csv', sep='\t',header=None, names=['var_code','var_name','var_desc'])```

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 95,015
精华内容 38,006
关键字:

pd.read_csv