精华内容
下载资源
问答
  • C#OPC读取数据

    千次下载 热门讨论 2013-05-17 17:23:03
    C#访问OPC读取数据 一般用于自动化编程
  • SparkSql读取数据和插入数据

    万次阅读 2017-12-11 17:12:40
    sparksql读取数据和写入数据

    一、sparksql读写mysql数据

    1.读取

    val url = "jdbc:mysql://主机名:端口号"
    val tableName = "db_name"
    val properties = new java.util.Properties()
    properties.put("user", "username")
    properties.put("password", "password")
    val tbDeptDF = sqlContext.
                   read. // 获取数据读取对象
                   jdbc(url, tableName, properties)
    

    2.写入

    val url = "jdbc:mysql://主机名:端口号"
    val tableName = "db_name"
    val properties = new java.util.Properties()
    properties.put("user", "username")
    properties.put("password", "password")
    df.write.jdbc(url, tableName, properties)
    // df.write.mode("append").jdbc(url, tableName, properties)//追加写入
    //df.write.mode("overwrite").jdbc(url, tableName, properties)//重新写入
    // df.write.mode("ignore").jdbc(url, tableName, properties)//忽略写入
    

    二、sparksql读写parquet格式的数据

    1.读取

    val df1 = sqlContext.
              read. // 获取数据读取对象
              format("parquet"). // 指定格式
              load("/存储路径")
    val df1 = sqlContext.
              read. // 获取数据读取对象
              format("parquet"). // 指定格式
              load("/存储路径")//可以是文件夹,也可以是指定文件
    

    2.写入

    df. write. // DF数据写出对象
                  format("parquet"). // 指定文件格式
                  mode("overwrite"). // 给定模式是覆盖
                  save("/路径") // 给定保存路径,存在在hdfs
    df.repartition(3). // 重置分区数量为3个
                  write. // DF数据写出对象
                  format("parquet"). // 指定文件格式
                  mode("overwrite"). // 给定模式是覆盖
                  save("/路径") // 给定保存路径,存在在hdfs
    
    展开全文
  • MATLAB读取文件夹下所有文件的文件名并读取数据

    万次阅读 多人点赞 2018-12-08 22:23:56
    利用代码对大量数据进行自动批处理时,首先需要获取该数据存放的文件夹(文件夹路径),然后获取该文件夹下某一类型数据所有的文件名,最后通过特定的数据读取代码读取数据进行自动批处理。这里以.txt文本类型作为...

    MATLAB读取文件夹下特定类型格式文件的文件名并读取该格式文件的数据

    利用代码对大量数据进行自动批处理时,首先需要获取该数据存放的文件夹(文件夹路径),然后获取该文件夹下某一类型数据所有的文件名,最后通过特定的数据读取代码读取数据进行自动批处理。这里以.txt文本类型作为示例(代码块中%后为注释内容)。

    第一步:获取文件夹下某类型数据的所有文件名

    主要包括三个步骤:

    1. 设置数据存放的文件夹路径;
    2. 显示该路径下特定格式(如.txt)的文件完整信息;
    3. 提取特定格式的所有文件的文件名。
    Path = 'F:\Test\';                   % 设置数据存放的文件夹路径
    File = dir(fullfile(Path,'*.txt'));  % 显示文件夹下所有符合后缀名为.txt文件的完整信息
    FileNames = {File.name}';            % 提取符合后缀名为.txt的所有文件的文件名,转换为n行1列
    

    第二步:读取特定格式的所有数据

    主要包括三个步骤:

    1. 获取所提取文件的个数;
    2. 进入循环,按提取的文件名依次读取数据内容;
    3. 在循环中将读取的数据内容形成固定格式的数据矩阵。
    Length_Names = size(FileNames,1);    % 获取所提取数据文件的个数
    for k = 1 : Length_Names
        % 连接路径和文件名得到完整的文件路径
        K_Trace = strcat(Path, FileNames(k));
        % 读取数据(因为这里是.txt格式数据,所以直接用load()函数)
        eval(['Data',num2str(k),'=','load(K_Trace{1,1})',';']);
        % 注意1:eval()函数是括号内的内容按照命令行执行,
        %       即eval(['a','=''2','+','3',';'])实质为a = 2 + 3;
        % 注意2:由于K_Trace是元胞数组格式,需要加{1,1}才能得到字符串
    end
    

    在实际的处理过程中,一般不会将所有数据全部输出,通常是一个循环得到一个结果,只输出结果信息。

    作为学习中的一份记录,仅供参考~~~~

    展开全文
  • 1.从csv文件中读取数据 参数header=None的有无 (1)没有header=None——直接将csv表中的第一行当作表头 # 读取数据 import pandas as pd data = pd.read_csv("data1.csv") print(data) 打印结果为: (2)有...

    数据保存在csv文件中
    在这里插入图片描述

    1.从csv文件中读取数据

    参数header=None的有无

    (1)没有header=None——直接将csv表中的第一行当作表头

    # 读取数据
    import pandas as pd
    data = pd.read_csv("data1.csv")
    print(data)
    

    打印结果为:
    在这里插入图片描述
    (2)有header=None——自动添加第一行当作表头

    # 读取数据
    import pandas as pd
    data = pd.read_csv("data1.csv",header=None)
    print(data)
    

    打印结果为:
    在这里插入图片描述

    2.数据切割

    (这里根据csv表的格式,将header=None不写)

    (1)获取所有列,并存入一个数组中

    # 读取数据
    import pandas as pd
    data = pd.read_csv("data1.csv")
    # print(data)
    # ①获取所有列,并存入一个数组中
    import numpy as np
    data = np.array(data)
    print(data) # 用户编号  性别  年龄(岁)  年收入(元)  是否购买
    # [[15624510        1       19    19000        0]
    #  [15810944        1       35    20000        0]
    #  [15668575        2       26    43000        0]
    #  [15603246        2       27    57000        0]
    #  [  ...          ...      ...    ...       ...]]
    

    (2)获取指定列的数据,并存入一个数组中
    方法一:从csv文件获取data,data[ ] ——需要考虑数据的维度问题

    # 读取数据
    import pandas as pd
    data = pd.read_csv("data1.csv")
    print(data) # 用户编号  性别  年龄(岁)  年收入(元)  是否购买
    # (1)获取第1列,并存入一个数组中
    import numpy as np
    col_1 = data["用户编号"]  #获取一列,用一维数据
    data_1 = np.array(col_1)
    print(data_1)
    # [15624510 15810944 15668575 15603246 15804002 15728773 15598044 15694829
    #  15600575 15727311 15570769 15606274 15746139 15704987 15628972 15697686
    #  15733883 15617482 15704583 15621083 15649487 15736760 15714658 15599081
    #  15705113 15631159 15792818 15633531 15744529]
    
    # (2)获取第1,2列
    col_12 = data[["用户编号","性别"]]  #获取两列,要用二维数据
    data_12 = np.array(col_12)
    print(data_12)
    # [[15624510        1]
    #  [15810944        1]
    #  [15668575        2]
    #  [15603246        2]
    #  [  ...          ..]]
    

    方法二:usecols=[ ] —— 直接写入获取的列数

    import pandas as pd
    import numpy as np
    data_1 = pd.read_csv("data1.csv",usecols=["用户编号"])
    data_1 = np.array(data_1)
    print(data_1)
    # [[15624510]
    #  [15810944]
    #  [15668575]
    #  [15603246]
    #  [  ...   ]]
    
    # (2)如获取第1,2列
    data_12 = pd.read_csv("data1.csv",usecols=["用户编号","性别"])
    data_12 = np.array(data_12)
    print(data_12)
    # [[15624510        1]
    #  [15810944        1]
    #  [15668575        2]
    #  [15603246        2]
    #  [  ...          ..]]
    

    方法三:iloc[ ] ——实质就是切片操作

    import pandas as pd
    import numpy as np
    data = pd.read_csv("data1.csv")
    # (1)获取第1列
    data_1 = data.iloc[:,0]
    data_1 =np.array(data_1)
    print(data_1)
    # [15624510 15810944 15668575 15603246 15804002 15728773 15598044 15694829
    #  15600575 15727311 15570769 15606274 15746139 15704987 15628972 15697686
    #  15733883 15617482 15704583 15621083 15649487 15736760 15714658 15599081
    #  15705113 15631159 15792818 15633531 15744529]
    
    # (2)获取第1,2列
    data_12 = data.iloc[:,0:2]
    data_12 = np.array(data_12)
    print(data_12)
    # [[15624510        1]
    #  [15810944        1]
    #  [15668575        2]
    #  [15603246        2]
    #  [  ...          ..]]
    
    # 获取最后两列
    data_last = data.iloc[:,-2:]
    data_last = np.array(data_last)
    print(data_last)
    # [[ 19000        0]
    #  [ 20000        0]
    #  [ 26    43000        0]
    #  [ 27    57000        0]
    #  [ ...    ...       ...]]
    
    展开全文
  • Python数据分析与可视化(读取数据)

    千次阅读 多人点赞 2020-07-24 21:53:15
    读取数据 含有逗号分隔符文件 JSON文件 源文件 含有逗号分隔符文件 本节主要讲CSV类型的文件以及如何使用Pandas库来读取CSV文件。 CSV文件的简介 用Pandas来读取CSV文件 CSV文件的简介 在机器学习中以逗号作为...

    读取数据

    1. 含有逗号分隔符文件
    2. JSON文件
    3. 源文件

    含有逗号分隔符文件

    本节主要讲CSV类型的文件以及如何使用Pandas库来读取CSV文件。

    • CSV文件的简介
    • 用Pandas来读取CSV文件

    CSV文件的简介
    在机器学习中以逗号作为分隔符的文件很常见(CSV文件),这种类型的文件每一行都有数据,每行的数据元素之间通过通过逗号分隔,用Pandas可以很方便的读取这类文件。
    用Pandas来读取CSV文件
    这是详细的说明文档在读取文件之前先了解一下三个参数

    • sep-指定分隔符,如果不指定默认值是’,'支持自定义分隔符。
    • header-指定作为整个数据集列名的行.如果数据集中没有列名,则需要设置header=None.对有表头的数据识别第一行作为header.
    • names-用于结果的列名列表,如果数据文件中没有列标题行,就需要执行header=None。
      如果CSV文件的格式比较好,那么参数采用默认值,就可以读取好。
      虽然在不用Pandas的情况下也可以读取CSV文件,但是CSV文件的格式通常很混乱,读取他们通常会遇到很多难以处理的问题,Pandas模块具有许多参数,我们可以更改这些参数以处理更复杂的CSV文件。
      用一段代码来说明
    import pandas as pd
    
    # 创建列名列表
    names = ['age', 'workclass', 'fnlwgt', 'education', 'educationnum', 'maritalstatus', 'occupation', 'relationship', 'race',
            'sex', 'capitalgain', 'capitalloss', 'hoursperweek', 'nativecountry', 'label']
    # 利用定义好的列名来读取数据
    df = pd.read_csv("data/adult.data", header=None, names=names)
                          
    print(df.head())
    

    下面来解释一下代码,首先下载需要的数据(数据下载地址)进入到页面后点击Data Folder,然后选择adult.data。下载好后,可以用Excel或者其他文本编辑器打开。可以看到每行的数据都是以逗号分隔开的,如下图
    在这里插入图片描述
    我们可以发现这个CSV文件没有列名。但是我们在第二行的代码中定义了列名,并把它传递给了names参数。在第三行代码中我们设置了header=None,这是由于,Pandas默认将第一行作为列名,这样设置后第一行就会作为正常数据进行展示。
    数据读入后将转为Pandas的dataframe格式。
    dataframe格式非常类似于数据矩阵,但他还有其他的特点。比如,我们可以获取指定名称的行和列,并且在每一列中可以存储不同的数据类型,比如某一列可以是整型,另外一列可以是文本型。
    我们可以将dataframe格式看作是一张Excel数据表。例如,有一张工作表,这张表中一列是日期,另外一列是日期对应的温度。我就可以把这张表看作是dataframe格式.
    通过调用head()函数,我们可以看到dataframe格式数据的前五行。在下一节“数据描述”中再详细讨论如何使用dataframe格式。
    接下来,让我们看一下JSON文件的读取。

    JSON文件

    本节主要讲JSON类型的文件以及如何使用Pandas库来读取JSON文件。

    • JSON文件介绍
    • 读取JSON文件

    JSON文件介绍
    JSON (JavaScript Object Notation)是一种流行的格式具有灵活的模式。人类也很容易读写。在网络上发送的许多数据都是以JSON传输的。下面JSON文件例子:

    {
        "glossary": {
            "title": "example glossary",
            "GlossDiv": {
                "title": "S",
                "GlossList": {
                    "GlossEntry": {
                        "ID": "SGML",
                        "SortAs": "SGML",
                        "GlossTerm": "Standard Generalized Markup Language",
                        "Acronym": "SGML",
                        "Abbrev": "ISO 8879:1986",
                        "GlossDef": {
                            "para": "A meta-markup language, used to create markup languages such as DocBook.",
                            "GlossSeeAlso": ["GML", "XML"]
                        },
                        "GlossSee": "markup"
                    }
                }
            }
        }
    }
    

    读取JSON文件
    Python可以使用内置json库轻松地将这些数据从字符串读取为字典:

    import json
    
    ## 将JSON对象定义为字符串
    json_string = """{
        "glossary": {
            "title": "example glossary",
            "GlossDiv": {
                "title": "S",
                "GlossList": {
                    "GlossEntry": {
                        "ID": "SGML",
                        "SortAs": "SGML",
                        "GlossTerm": "Standard Generalized Markup Language",
                        "Acronym": "SGML",
                        "Abbrev": "ISO 8879:1986",
                        "GlossDef": {
                            "para": "A meta-markup language, used to create markup languages such as DocBook.",
                            "GlossSeeAlso": ["GML", "XML"]
                        },
                        "GlossSee": "markup"
                    }
                }
            }
        }
    }"""
    
    
    # 读取JSON数据
    json_data = json.loads(json_string)
    
    print(json_data)
    

    当定义的JSON数据是字符串时,我们可以使用该oads()函数将其读入Python中字典。JSON与字典的格式相同,它由各种类型的键,值对组成。上面的JSON对象具有一个名为title的键,其值是“example glossary”。它还具有一个名为GlossList的键,该键具有一个字典值,这个值又包含其自己的键值对。我们可以将看到JSON是如何表示我们想要的任何类型的嵌套模式。
    现在,我们可以将JSON对象作为字典,并且可以按照在上节中讨论的方法来访问值。如果文件中包含JSON数据,则可以使用load()函数读取数据。
    如果有一个名为data.json的文件,则将按照以下方法进行操作:

    with open('data.json') as f:
        data = json.load(f)
    

    现在我们熟悉了JSON文件的操作,下面讨论源文件的操作

    源数据

    本节主要讲源数据类型的文件以及如何使用Pandas库来读取源数据文件

    • 源数据文件的介绍
    • 源数据文件的读取

    源数据文件的介绍
    有时我们会得到奇怪格式的数据,并且必须自己写Python代码来处理数据。
    例如,可能有一个用竖线(|)分隔的文件。它可能看起来像这样:

    James|22|M
    Sarah|31|F
    Mindy|25|F
    

    在上方,我们有3列数据,每行的3个值用竖线(|)分隔-分别代表名称,年龄和性别。
    我们可以在Python中创建相同的文件并使用tempfile进行处理。

    import tempfile
    
    tmp = tempfile.NamedTemporaryFile()
    
    # 将数据写入文件
    with open(tmp.name, 'w') as f:
        f.write("James|22|M\n")
        f.write("Sarah|31|F\n")
        f.write("Mindy|25|F")
    
    # 逐行读取文件中的数据
    with open(tmp.name, "r") as f:
        for line in f:
          print(line)
    

    上面,我们使用tempfile创建了一个包含三行数据的文件。数据的前2行末尾的\ n让程序创建新行。

    源数据文件的读取
    我们要注意下面这段代码:

    with open(tmp.name, "r") as f:
        for line in f:
          print(line)
    

    我们使用open()命令来读取文件。首先传递要处理的文件名,然后传递r代表读取。
    由于我们with as功能,因此变量f代表文件句柄,并且仅在此范围内有用。这是读取文件的好习惯,因为我们不xu关闭文件句柄。有了文件句柄后,Python可以非常轻松地访问这些行。变量f现在是可迭代的,其中每个可迭代的都是文件的一行。因此,我们可以这样迭代:

    for line in f
    

    上面的代码仅打印出这些行,但是由于我们可以直接访问文件的每行数据,因此我们可以在处理过程中做任操作。例如,以下代码仅取每行的第一个值,并将它们添加到列表中。

    import tempfile
    
    tmp = tempfile.NamedTemporaryFile()
    
    # 将数据写入文件
    with open(tmp.name, 'w') as f:
        f.write("James|22|M\n")
        f.write("Sarah|31|F\n")
        f.write("Mindy|25|F")
    
    first_values = []  # 定义一个列表来存储每一行的第一个值
    with open(tmp.name, "r") as f:  # 打开要读的文件
        for line in f:  # 迭代每一行
          row_values = line.split("|")  # 以“|”切分
          first_values.append(row_values[0])  # 将第一个值添加到列表中
          
    print(first_values)
    
    展开全文
  • Pandas 二:读取数据

    千次阅读 2021-05-19 09:28:29
    Pandas 二:读取数据pandas读取纯文本文件读取csv文件读取txt文件pandas读取xlsx格式excel文件pandas读取mysql数据表 加载Pandas库 import pandas as pd pandas读取纯文本文件 读取csv文件 源数据: 读取CSV,使用...
  • Tensorflow从文件读取数据

    万次阅读 2016-11-22 19:47:07
    TensorFlow程序读取数据一共有3种方法: 供给数据(Feeding): 在TensorFlow程序运行的每一步, 让Python代码来供给数据。 从文件读取数据: 在TensorFlow图的起始, 让一个输入管线从文件中读取数据。 预加载数据:...
  • Python批量读取数据

    千次阅读 2018-10-20 16:56:23
    如何通过python批量读取数据? 把所有需要读取的文件放在一个文件夹里; 创建函数分别读取文件; import pandas as pd import os def f1(): path = 'C:/Users/Administrator/Desktop/数据文件' #输入文件存储路径...
  • TensorFlow高效读取数据的方法

    万次阅读 多人点赞 2016-08-17 19:20:26
    概述关于Tensorflow读取数据,官网给出了三种方法: 供给数据(Feeding): 在TensorFlow程序运行的每一步, 让Python代码来供给数据。 从文件读取数据: 在TensorFlow图的起始, 让一个输入管线从文件中读取数据。 预...
  • InputStream读取数据问题

    千次阅读 2016-05-25 17:27:31
     在从数据流里读取数据时,为图简单,经常用InputStream.read()方法。这个方法是从流里每次只读取读取一个字节,效率会非常低。 更好的方法是用InputStream.read(byte[] b)或者InputStream.read(byte[] b,int off,...
  • 全栈工程师开发手册 (作者:...java将数据写入csv文件,从csv文件中读取数据测试代码 public static void main(String[] arges){ //自定义数组 ArrayList<ArrayList<String>> alldata=new ArrayList<ArrayList<St
  • pandas读取数据前几行

    千次阅读 2020-05-16 18:34:06
    pandas读取数据前几行 比如需要读取excel前1000行,代码如下 代码如下: data = pd.read_excel('E:/demo.xlsx', nrows = 1000) 检验结果: print(data.shape[0]) 1000 读取成功
  • 读取.txt或者.dat文件然后转成list类型,方便读取数据。 list(filter(None,lines[i].split(' ')))[x] x为数据的行数。
  • matlab对Excel表读取数据

    万次阅读 多人点赞 2019-07-09 23:16:25
    目录 1.用xlsread函数读取一个Excel文件 2.读取指定sheet中的数据 ...filename是单引号括起来的带路径的文件名,函数直接读取filename所指文件的sheet1中的数据区域存储到双精度矩阵num中;其中,数...
  • Python四种读取数据文件的方法

    万次阅读 2019-03-12 16:04:48
    下面介绍读取数据文件的方法: 首先说明下数据文件的格式 第一行为列名,第一列为编号 第一种:手写读取数据 f = file(路径名) x = [] y = [] for i, d in enumerate(f): if i == 0: #跳过第0行的标题 ...
  • HBase之读取数据流程

    千次阅读 2019-07-01 16:21:56
    1.HBase读取数据流程 2.疑问 2.1上述(10)中,需要对满足条件的KeyValue进行从小到大排序合并构建最小堆。 ​​2.1.1为什么Scanner需要有小到大排序? 2.1.2HBase中KeyValue是什么样的结构? 2.1.3不同Key...
  • 导包 import pandas as pd # Dataframe manipulatio ort os # For os related operations import sys # For data size ...读取数据 # use your path path = r'C:/Users//VScode Python/week10_data' # advisable to u
  • 不打开Excel文件直接读取数据

    万次阅读 2017-10-30 14:28:27
    不打开Excel文件直接读取数据
  • Xsens 在ROS环境下读取数据

    万次阅读 2021-01-08 22:07:27
    Xsens IMU数据读取1 Xsens数据读取1.1 安装ROS二进制包1.2 Xsens修改rule文件参考资料 1 Xsens数据读取 1.1 安装ROS二进制包 sudo apt-get install ros-kinetic-xsens-driver sudo chmod 777 /dev/ttyUSB* 启动...
  • pandas从数据库读取数据

    万次阅读 2016-12-26 14:41:55
    Python中用Pandas进行数据分析,最常用的就是Dataframe数据结构,之前写过一篇文章介绍Pandas的基本用法,后来有些朋友问Pandas怎么从数据库中读取数据,怎么从文件中读取数据之类的问题,因此单独开篇文章介绍Pandas...
  • pandas读取数据与基本操作

    千次阅读 2019-04-18 00:06:04
    pandas读取数据与基本操作1.读取前几行2.读取后几行3.读取第几个数据4.a.shape显示数据的格式5.a.columns显示全部的列名,a.columns.tolist()将列名转换成列表。 1.读取前几行 用函数 a.head()默认读取文件的前5行...
  • 如何在R语言中读取数据

    千次阅读 2018-07-06 09:15:49
    如何在R语言中读取数据 读取数据有以下几种方式: 1.最常用的是采用读取表格数据的函数 read.table()以及read.csv().。这些函数读取一种以行列的格式存储数据的文本文件,然后在R中返回一个数据框。 2.readLines...
  • Java从json文件中读取数据

    万次阅读 2019-07-09 19:41:04
    Java从json文件中读取数据 数据准备 数据是利用python生成的一个字典x,然后使用json.dump(x, file)就可以将数据保存成json文件存储至本地。 读取数据 借助java自带的一些FIle包和阿里的JSON、JSONArray、JSONObject...
  • pytorch 读取数据方法总结

    千次阅读 2018-09-27 20:32:27
    用pytorch读取数据,确实要比tensorflow简单,但是也得熟悉半个小时左右. 下面总结下我的体验,直接用代码 (1)torch.utils.data.Dataset (2)torch.utils.data.DataLoader 这两个类搭配的数据读取代码: import ...
  • 下面以mysql为例,用spring batch批量从mysql数据库表users表中读取数据。 uers表目前数据如下: 下面用spring batch批量读取该表,首先配置数据源 #配置step执行多少次commit一次 spring.batch.chunk.size=4...
  • 做了一个简单的VISA从单片机读取数据,不知哪里出错了,总是读取不到?从VISA配置就开始提示ERR(-1073807194) 单片机的程序应该是没问题的,因为用串口助手能读到数据。 ![读取数据程序框图]...
  • C语言文件之读取数据

    千次阅读 2018-03-12 12:44:12
    /*读取数据,以字符为单位一个一个从文本文件读取数据,使用库函数fgetc()int fgetc(FILE *stream);参数stream是一个文件指针,这个函数如果字符读取成功,返回这个字符的ASCII值,失败返回-1*/ #include&lt;...
  • sys.stdin读取数据

    千次阅读 2018-05-15 16:38:28
    用python尝试了几天的算法题,发现在用sys.stdin读取数据的时候很容易出错,就是while循环和for循环的区别。看下例子(对于输入的一个整数,希望得到整数值。例如:输入31,最后得到的结果为31):使用while循环:继续...
  • 如何用c语言从txt文件中读取数据

    万次阅读 多人点赞 2019-03-16 17:51:45
    用C语言从txt文件中读取数据,可以使用C标准库文件自带的文件接口函数进行操作。 一、打开文件: FILE *fopen(const char *filename, const char *mode); 因为txt文件为文本文件, 所以打开时选择的mode应为"r&...
  • Tensorflow分批量读取数据

    千次阅读 2017-02-20 15:28:57
    Tensorflow分批量读取数据之前的博客里使用tf读取数据都是每次fetch一条记录,实际上大部分时候需要fetch到一个batch的小批量数据,在tf中这一操作的明显变化就是tensor的rank发生了变化,我目前使用的人脸数据集是...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,742,438
精华内容 1,096,975
关键字:

读取数据