精华内容
参与话题
问答
  • Python中pd.read_csv()函数用法简单介绍

    万次阅读 2018-04-28 21:45:52
    dl_data.csv文件: ...q_table6 = pd.read_csv('dl_data.csv',encoding = "utf-8",header = 0,names = range(0,50)) 功能:将原来的列索引[-25......25]替换成[0....49]。 介绍:he...

     

    dl_data.csv文件:

    行索引为:[-20......19]

    列索引为:[-25......25]

    语句分析:

    q_table6 = pd.read_csv('dl_data.csv',encoding = "utf-8",header = 0,names = range(0,50))

    功能:将原来的列索引[-25......25]替换成[0....49]。

    介绍:header = 0是默认情况(即不标明,默认就是header = 0),表示以数据的第一行为列索引。

               encoding = "utf-8"表明以utf-8为编码规则。

               names = range(0,50))表示以[0....49]为列索引的名字

           

    q_table6 = pd.read_csv('dl_data.csv',encoding = "utf-8",header = None,names = range(0,50))

    功能:给数据添加一行列索引[0....49],header = None表示原来的数据是没有列索引的,就算你的数据里面有列索引,这时就把  原来的列索引当成了数据。

     

    上面两个语句都会默认为数据添加行索引,即会把原来的行索引当成数据,自己再添加新的行索引[0,1,2.....] !!!!!!!如果不想添加新的行索引,代码如下:

    q_table6 = pd.read_csv('dl_data.csv',encoding = "utf-8",index_col=0)

    index_col=0表示以原有数据的第一列(索引为0)当作行索引。

    
     
    
     

     

    展开全文
  • 除了使用xlrd库或者xlwt库进行对excel表格的操作读与写,而且pandas库同样支持...首先是pd.read_excel的参数:函数为: pd.read_excel(io, sheetname=0,header=0,skiprows=None,index_col=None,names=None, arse_

    除了使用xlrd库或者xlwt库进行对excel表格的操作读与写,而且pandas库同样支持excel的操作;且pandas操作更加简介方便。

    首先是pd.read_excel的参数:函数为:

    pd.read_excel(io, sheetname=0,header=0,skiprows=None,index_col=None,names=None,
                    arse_cols=None,date_parser=None,na_values=None,thousands=None, 
                    convert_float=True,has_index_names=None,converters=None,dtype=None,
                    true_values=None,false_values=None,engine=None,squeeze=False,**kwds)

    表格数据:
    这里写图片描述这里写图片描述

    常用参数解析:

    • io :excel 路径;
    In [10]: import pandas as pd
    #定义路径IO
    In [11]: IO = 'example.xls'
    #读取excel文件
    In [12]: sheet = pd.read_excel(io=IO)
    #此处由于sheetname默认是0,所以返回第一个表
    In [13]: sheet
    Out[13]:
       姓名  年龄        出生日  爱好   关系
    0  小王  23 1991-10-02  足球   朋友
    1  小丽  23 1992-11-02  篮球  NaN
    2  小黑  25 1991-10-18  游泳   同学
    3  小白  21 1989-09-09  游戏  NaN
    4  小红  25 1990-08-07  看剧  NaN
    5  小米  24 1991-12-12  足球  NaN
    6  大锤  26 1988-09-09  看剧   个人
    #上述列表返回的结果和原表格存在合并单元格的差异
    • sheetname:默认是sheetname为0,返回多表使用sheetname=[0,1],若sheetname=None是返回全表 。注意:int/string返回的是dataframe,而none和list返回的是dict of dataframe。
    In [7]: sheet = pd.read_excel('example.xls',sheetname= [0,1])
    #参数为None时,返回全部的表格,是一个表格的字典;
    #当参数为list = [0123]此类时,返回的多表格同样是字典
    In [8]: sheet
    Out[8]:
    {0:    姓名  年龄        出生日  爱好   关系
     0  小王  23 1991-10-02  足球   朋友
     1  小丽  23 1992-11-02  篮球  NaN
     2  小黑  25 1991-10-18  游泳   同学
     3  小白  21 1989-09-09  游戏  NaN
     4  小红  25 1990-08-07  看剧  NaN
     5  小米  24 1991-12-12  足球  NaN
     6  大锤  26 1988-09-09  看剧   个人, 1:    1  3  5  学生
     0  2  3  4  老师
     1  4  1  9  教授}
    #value是一个多位数组
    In [15]: sheet[0].values
    Out[15]:
    array([['小王', 23, Timestamp('1991-10-02 00:00:00'), '足球', '朋友'],
           ['小丽', 23, Timestamp('1992-11-02 00:00:00'), '篮球', nan],
           ['小黑', 25, Timestamp('1991-10-18 00:00:00'), '游泳', '同学'],
           ['小白', 21, Timestamp('1989-09-09 00:00:00'), '游戏', nan],
           ['小红', 25, Timestamp('1990-08-07 00:00:00'), '看剧', nan],
           ['小米', 24, Timestamp('1991-12-12 00:00:00'), '足球', nan],
           ['大锤', 26, Timestamp('1988-09-09 00:00:00'), '看剧', '个人']], dtype=object)
    
    #同样可以根据表头名称或者表的位置读取该表的数据
    #通过表名
    In [17]: sheet = pd.read_excel('example.xls',sheetname= 'Sheet2')
    In [18]: sheet
    Out[18]:
       1  3  5  学生
    0  2  3  4  老师
    1  4  1  9  教授
    
    #通过表的位置
    In [19]: sheet = pd.read_excel('example.xls',sheetname= 1)
    
    In [20]: sheet
    Out[20]:
       1  3  5  学生
    0  2  3  4  老师
    1  4  1  9  教授
    • header :指定作为列名的行,默认0,即取第一行,数据为列名行以下的数据;若数据不含列名,则设定 header = None;
    #数据不含作为列名的行
    In [21]: sheet = pd.read_excel('example.xls',sheetname= 1,header = None)
    In [22]: sheet
    Out[22]:
       0  1  2   3
    0  1  3  5  学生
    1  2  3  4  老师
    2  4  1  9  教授
    #默认第一行数据作为列名
    In [23]: sheet = pd.read_excel('example.xls',sheetname= 1,header =0)
    In [24]: sheet
    Out[24]:
       1  3  5  学生
    0  2  3  4  老师
    1  4  1  9  教授
    • skiprows:省略指定行数的数据
    In [25]: sheet = pd.read_excel('example.xls',sheetname= 1,header = None,skiprows= 1)
    #略去1行的数据,自上而下的开始略去数据的行
    In [26]: sheet
    Out[26]:
       0  1  2   3
    0  2  3  4  老师
    1  4  1  9  教授
    • skip_footer:省略从尾部数的行数据
    In [27]: sheet = pd.read_excel('example.xls',sheetname= 1,header = None,skip_footer= 1)
    #从尾部开始略去行的数据
    In [28]: sheet
    Out[28]:
       0  1  2   3
    0  1  3  5  学生
    1  2  3  4  老师
    • index_col :指定列为索引列,也可以使用 u’string’
    #指定第二列的数据作为行索引
    In [30]: sheet = pd.read_excel('example.xls',sheetname= 1,header = None,skip_footer= 1,index_col=1)
    
    In [31]: sheet
    Out[31]:
       0  2   3
    1
    3  1  5  学生
    3  2  4  老师
    • names:指定列的名字,传入一个list数据
    In [32]: sheet = pd.read_excel('example.xls',sheetname= 1,header = None,skip_footer= 1,index_col=1,names=['a','b','c'])
        ...:
    
    In [33]: sheet
    Out[33]:
       a  b   c
    1
    3  1  5  学生
    3  2  4  老师

    总体而言,pandas库的pd.read_excel和pd.read_csv的参数比较类似,且相较之前的xlrd库的读表操作更加简单,针对一般批量的数据处理最好选择pandas库操作。但是功能有待完善或者本次研究的不够深入,比如合并单元格的问题,欢迎一起讨论交流。

    展开全文
  • 修复“错误提示内存不能为read”的工具

    万次下载 热门讨论 2008-12-28 09:35:13
    突然‘咚’的一声 提示 内存不能为read 这个问题我以前也遇到过不知道怎么解决 现在终于有办法了!呵呵! 我们就看看是什么原因引起的吧,另外附送一个小工具修复见下面附件 总结下大概以下9个原因 1、驱动不...
  • 深入理解linux下write()和read()函数

    万次阅读 多人点赞 2017-05-13 20:09:11
    1、write() 函数定义:ssize_t write (int fd, const void * buf, size_t count); 函数说明:write()会把参数buf所指的内存写入count个字节到参数fd所指的文件内。 返回值:如果顺利write()会返回实际写入的字节...

    1、write()

    函数定义:ssize_t write (int fd, const void * buf, size_t count); 

    函数说明:write()会把参数buf所指的内存写入count个字节到参数fd所指的文件内。

    返回值:如果顺利write()会返回实际写入的字节数(len)。当有错误发生时则返回-1,错误代码存入errno中。

     

    附加说明:

    (1)write()函数返回值一般无0,只有当如下情况发生时才会返回0:write(fp, p1+len, (strlen(p1)-len))中第三参数为0,此时write()什么也不做,只返回0。man手册给出的write()返回值的说明如下:

    (2)write()函数从buf写数据到fd中时,若buf中数据无法一次性读完,那么第二次读buf中数据时,其读位置指针(也就是第二个参数buf)不会自动移动,需要程序员来控制,而不是简单的将buf首地址填入第二参数即可。如可按如下格式实现读位置移动:write(fp, p1+len, (strlen(p1)-len))。 这样write第二次循环时便会从p1+len处写数据到fp, 之后的也一样。由此类推,直至(strlen(p1)-len)变为0。

    (3)在write一次可以写的最大数据范围内(貌似是BUFSIZ ,8192),第三参数count大小最好为buf中数据的大小,以免出现错误。(经过笔者再次试验,write一次能够写入的并不只有8192这么多,笔者尝试一次写入81920000,结果也是可以,看来其一次最大写入数据并不是8192,但内核中确实有BUFSIZ这个参数,具体指什么还有待研究)

    以下通过一个例子具体说明write函数用法

    #include <string.h>
    #include <stdio.h>
    #include <fcntl.h>
    int main()
    {
      char *p1 = "This is a c test code";
      volatile int len = 0;
    
      int fp = open("/home/test.txt", O_RDWR|O_CREAT);
      for(;;)
      {
         int n;
    
         if((n=write(fp, p1+len, (strlen(p1)-len)))== 0)   //if((n=write(fp, p1+len, 3)) == 0) 
         {                                                 //strlen(p1) = 21
             printf("n = %d \n", n);
             break;
         }
         len+=n;
      }
      return 0;
    }

     

    此程序中的字符串"This is a c test code"有21个字符,经笔者亲自试验,若write时每次写3个字节,虽然可以将p1中数据写到fp中,但文件test.txt中会带有很多乱码。唯一正确的做法还是将第三参数设为(strlen(p1) - len,这样当write到p1末尾时(strlen(p1) - len将会变为0,此时符合附加说明(1)中所说情况,write返回0, write结束。 

    2、read()

    函数定义:ssize_t read(int fd, void * buf, size_t count);

    函数说明:read()会把参数fd所指的文件传送count 个字节到buf 指针所指的内存中。

    返回值:返回值为实际读取到的字节数, 如果返回0, 表示已到达文件尾或是无可读取的数据。若参数count 为0, 则read()不会有作用并返回0。另外,以下情况返回值小于count:

    (1)读常规文件时,在读到count个字节之前已到达文件末尾。例如,距文件末尾还有50个字节而请求读100个字节,则read返回50,下次read将返回0。

    (2)对于网络套接字接口,返回值可能小于count,但这不是错误,详细解释参考这篇文章https://blog.csdn.net/hhhlizhao/article/details/73912578

     

    注意:read时fd中的数据如果小于要读取的数据,就会引起阻塞。(关于read的阻塞情况评论区有朋友有不同意见,笔者查阅资料后作如下补充。)以下情况read不会引起阻塞:

    (1)常规文件不会阻塞,不管读到多少数据都会返回;

    (2)从终端读不一定阻塞:如果从终端输入的数据没有换行符,调用read读终端设备会阻塞,其他情况下不阻塞;

    (3)从网络设备读不一定阻塞:如果网络上没有接收到数据包,调用read会阻塞,除此之外读取的数值小于count也可能不阻塞,原因见上面链接。

    由于笔者水平有限,文中如有谬误之处还请读者朋友指出,以免误导大家。

    展开全文
  • read.csv and read.csv2 are identical to read.table except for the defaults. They are intended for reading ‘comma separated value’ files (‘.csv’) or (read.csv2) the variant u...

    除了默认分隔符不同,没有其它区别!

    请看官方文档:

    read.csv and read.csv2 are identical to read.table except for the
    defaults. They are intended for reading ‘comma separated value’ files
    (‘.csv’) or (read.csv2) the variant used in countries that use a comma
    as decimal point and a semicolon as field separator. Similarly,
    read.delim and read.delim2 are for reading delimited files, defaulting
    to the TAB character for the delimiter. Notice that header = TRUE and
    fill = TRUE in these variants, and that the comment character is
    disabled.

    翻译:

    read.csv和read.csv2与read.table相同,但默认值除外。
    它们用于读取“逗号分隔值”文件(’.csv’)或(read.csv2)在使用逗号作为小数点和分号作为字段分隔符的国家/地区中使用的变体。
    类似地,read.delim和read.delim2用于读取默认分隔符为TAB的文件。 请注意,这些变体中的header =
    TRUE和fill = TRUE,并且注释字符已禁用。

    《R语言实战》:

    读取Excel文件,推荐先导出成.csv文件再用read.csv导入。如果要直接导入,可以用xlsx包。

    注:对于大型数据的读取可以使用readr包和readxl包,速度比read.table()快很多。

    展开全文
  • STM32103读取 DHT11时 对 DHT11_Read_Bit() 的理解 DHT11的时序是: 原子的库函数DHT11里面,关于读取bit的函数有40us的延时不是很理解,依据DHT11的数据对时间的要求,读取2个连续的0bit时有可能出错,于是修改...
  • okhttp Read timed out

    2017-02-05 08:32:35
    java.net.SocketTimeoutException: Read timed out at java.net.SocketInputStream.socketRead0(Native Method) at java.net.SocketInputStream.read(SocketInputStream.java:150) at java.net.Socket...
  • 先向大家展示以下困扰了我好久的问题 死活就是安装不上,总是说出错,其实就是说连接超时,下载不了安装包,我这里也没有科学上网的工具,经过多方百度,找到了办法 通过几次pip的使用,对于默认的pip源的速度...
  • 错误信息: - JSR-250 'javax.annotation.ManagedBean' found and supported for component scanning - Context initialization failed org.springframework.beans.factory.BeanDefinitionStoreException: Failed to ...
  • 07-17 17:08:07.544: W/System.err(11671): java.io.IOException: read failed, socket might closed or timeout, read ret: -1 07-17 17:08:07.544: W/System.err(11671): at android.bluetooth.BluetoothSocket....
  • 遇到的问题一: error: RPC failed; curl 18 transfer closed with outstanding read data remaining fatal: The remote end hung up unexpectedly fatal: early EOF fatal: index-pack fail...
  • 首先准备测试数据*(mtcars)分别为CSV. TXT **2018博客之星评选,如果喜欢我的文章,请投我一票,编号:No.009** [支持...!!   R语言数据分析案例:直通车 ...read.table 默认形式读取CSV(×)与TXT(效果理想) ...
  • Uncaught TypeError: Cannot read property ‘prototype’ of undefined 代码如下 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>品牌管理<...
  • 本人因为业务需求,需要频繁的调用FileInputStream中的read()方法从硬件中获取数据, 因为read()方法是阻塞的,如果硬件一直没有数据发过来的话,read()方法会一直阻塞,这个方法我单独放在了一个子线程当中。 但是...
  • mac Read-Only filesystem

    万次阅读 热门讨论 2019-11-06 09:11:07
    结果发现居然提示我Read-Only filesystem,即使加上了sudo也没用 在我查阅相关资料后找到了解决办法(关闭SIP,然后输入sudo mount -uw /,创建文件夹添加权限,最后启用SIP),具体步骤如下: 1、重启mac,按住...
  • 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, ...
  • 本文原文连接:...有时候你会发现过去一直启动正常的系统,某天启动时会报出形如下面的错误:org.xml.sax.SAXParseException: schema_reference.4: Failed to read schema document 'http://www
  • Connection is read-only.

    2015-05-28 06:13:27
    nested exception is java.sql.SQLException: Connection is read-only. Queries leading to data modification are not allowed. at org.springframework.jdbc.support.SQLStateSQLExceptionTranslator....
  • ImageIo.read() 返回null

    2016-02-04 08:26:35
    bufImg = ImageIO.read(input); QRCodeDecoder decoder = new QRCodeDecoder(); content = new String(decoder.decode(new TwoDimensionCodeImage(bufImg)), "utf-8"); return content; } 在bufImg...
  • at javax.imageio.ImageIO.read(Unknown Source) at javax.imageio.ImageIO.read(Unknown Source) at com.MainJFrame.MyJFrame$PhotoPanel.init(MyJFrame.java:380) at com.MainJFrame.MyJFrame$1.valueChanged...
  • 当客户端 第一次连接时,将它们存在数组中。...在读取已存在的客户端发来的信息时,似乎一直阻塞在socket-read()中(提前在类中封装成了read()方法),有没有办法在没有数据可读的情况下直接跳过?
  • 串口编程经典应用场景:打开串口,阻塞模式,非超时返回,有数据返回,无数据死等。 简易代码为例: void* read_thread(void* param) { char szbuf[128];...close(fd),之前的read并不会返回,之后read返回-1。
  • int tmpLength = is.read(receiveBytes,index,9999-index); if(tmpLength==-1) break; index+=tmpLength; } 但是如果服务端使用如下代码,却能读到客户端发的字符串 ServerSocket server = ...
  • p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px 'Helvetica Neue'; color: #454545} span.s1 {font: 12.0px '.PingFang SC'}Can not read response from server. Expected to read 4 bytes, read 0 bytes bef
  • 已安装App的权限列表,发现有READ_PHONE_STATE的权限,但是我根本就没有去申请该权限。         在我的Manifest中也没有去申请该权限,哪位老哥知道原因的麻烦告知一下...
  • Caused by: java.sql.SQLException: Connection is read-only. Queries leading to data modification are not allowed 请各位大侠帮忙看看,是否在配置文件中要加点什么,事务配置有尝试过,没有什么用。用mysql...
  • ``` * 定时发送监控信息到质检端 * * @return ... public String sendMonitorInfo() throws IOException { ... List<Map> info = monitorService....debug的时候就显示read time out 求大神帮忙解答一下
  • Exception in thread "main" java.sql.SQLException: org.apache.hive.jdbc.ZooKeeperHiveClientException: Unable to read HiveServer2 uri from ZooKeeper at org.apache.hive.jdbc.HiveConnection.(Hive...
  • Created by Jerry Wang on Jul 04, 2014 使用下面的report测试这两种语法的区别: REPORT ztest_key. TYPES: BEGIN OF ty_data, index TYPE int4, name TYPE char10, score TYPE int4, text ...
  • android模拟机上不能加文件提示read only file system 是什么问题啊 mount -o remount ,rw /都试过了 ,没什么用额。 使用重新挂载还是无用 # mount -o remount,rw rootfs /system/ mount -o remount,rw rootfs ...

空空如也

1 2 3 4 5 ... 20
收藏数 305,483
精华内容 122,193
关键字:

read