精华内容
下载资源
问答
  • 主要介绍了Python Pandas批量读取csv文件到dataframe的方法,需要的朋友可以参考下
  • Python中如何读取CSV文件

    万次阅读 多人点赞 2017-11-05 11:05:08
    Python中如何读取CSV文件 前期工作:把CSV文件存放到.py文件结尾的路径里,即你创建的PycharmProjects文件路径里 如图分别是CSV数据以及存放位置截图 首先在pycharm解释器里导入CSV模块。在用python...

    Python中如何读取CSV文件

     

     

    前期工作:把CSV文件存放到.py文件结尾的路径里,即你创建的PycharmProjects文件路径里

     

     

    如图分别是CSV数据以及存放位置截图

     

    首先在pycharm解释器里导入CSV模块。在用python做科学计算的场景中,需要安装的依赖库非常多且非常麻烦,建议用python科学计算集成环境 Anaconda

     

     

     Anaconda官网下载地址https://www.continuum.io/downloads 

    下载2.x版本。

     

    集成了很多插件不要自己一点一点装

    (第一次接触Python的时候被各种库搞晕了,磊哥这样解释的,Python是饼干,导入的第三方库就是饼干上的巧克力,而Anaconda直接就是现成的曲奇饼干,真是对我这种吃货来说一点就通)

    废话太多了!!!!

    ------------------------------------------------------------------

    下面开始导入吧



     

    然后我们定义一个CSV文件的变量名allElectronicsdata,然后open这个文件,打开模式采用‘r’(即读取模式)

     

    如图所示啦:

     

    图中打印出来的allElectronicsdata数据对象模型如图所示:


     

     

    哇。。。读取成功了!

     

     

    后面会更新如何进行数据分析

    展开全文
  • Python使用pandas读取CSV文件

    千次阅读 多人点赞 2019-09-25 13:49:02
    使用pandas读取CSV文件 import pandas as pd csv_data = pd.read_csv("./path_file/file.csv", encoding = 'UTF-8') 如果报错 'utf-8' codec can't decode byte 0xb1 in position 0: invalid start byte 可以试...

    使用pandas读取CSV文件

    import pandas as pd
    csv_data = pd.read_csv("./path_file/file.csv", encoding = 'UTF-8')
    

    如果报错

    'utf-8' codec can't decode byte 0xb1 in position 0: invalid start byte
    

    可以试一下

    csv_data = pd.read_csv("./path_file/file.csv", encoding = 'GBK')
    

    一般可以解决问题

    展开全文
  • 逗号分隔值(Comma-Separated Values,CSV,...(推荐学习:Python视频教程)CSV文件由任意数目的记录组成,记录间以某种换符分隔;每条记录由字段组成,字段间的分隔符是其它字符或字符串,最常见的是逗号或制表...

    逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本)。

    5d16f6bb45a67536.jpg

    纯文本意味着该文件是一个字符序列,不含必须像二进制数字那样被解读的数据。(推荐学习:Python视频教程)

    CSV文件由任意数目的记录组成,记录间以某种换行符分隔;每条记录由字段组成,字段间的分隔符是其它字符或字符串,最常见的是逗号或制表符。通常,所有记录都有完全相同的字段序列.

    csv文件的读取:

    前期工作:在定义的py文件里边创建一个excel文件,并另存为csv文件,放入三行数据,我这里是姓名+年龄(可以自己随意写)

    首先我们要在python环境里导入csv模块(测试小白的我喜欢用pycharm)#encoding:utf-8

    import csv

    然后我们定义一个csv文件的变量csv_file,然后通过open对此文件进行打开,打开模式采用"r’(read:读模式),这里不懂的各位小白白可以百度下文件的访问模式

    如下图所示:

    1561785871383933.png

    图中打印出来的csv_file只是一个对象的模型(如图中的1),我们需要对这个模型进行遍历打印,通过打印我们可以清晰的看到我们打印的数据

    1561785883723451.png

    更多Python相关技术文章,请访问Python教程栏目进行学习!

    以上就是Python如何读取csv文件的详细内容,更多请关注Gxl网其它相关文章!

    本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

    本文系统来源:php中文网

    TAG标签:Python

    展开全文
  • python使用pandas读取csv文件

    千次阅读 2020-03-18 22:46:05
    需求:使用pandas读取ratings.csv文件,把读取的内容时间戳排序后写入文件csv文件:ratings.csv userId,movieId,rating,timestamp 1,296,5.0,1147880044 1,306,3.5,1147868817 1,307,5.0,1147868828 1,665,5.0,...

    需求:使用pandas读取ratings.csv文件,把读取的内容按时间戳排序后写入文件中
    csv文件:ratings.csv

    userId,movieId,rating,timestamp
    1,296,5.0,1147880044
    1,306,3.5,1147868817
    1,307,5.0,1147868828
    1,665,5.0,1147878820
    1,899,3.5,1147868510
    1,1088,4.0,1147868495
    1,1175,3.5,1147868826
    1,1217,3.5,1147878326
    1,1237,5.0,1147868839
    1,1250,4.0,1147868414
    
    

    test.py

    import pandas as pd
    # usecols=[0,1,2,3]  使用前4列,全读取的话usecols可省
    # nrows  读取csv文件前10000行数据
    data = pd.read_csv('../data/rating/ratings.csv',nrows = 10000,encoding='utf-8',usecols=[0,1,2,3])
    # data里面按时间戳排序
    data = data.sort_values(by=["timestamp"],ascending=[False])
    print(data)
    # 删除时间戳这一列 axis=1表示对列操作
    data = data.drop('timestamp',axis=1)
    # 将数据从DataFrame转成list列表
    data = data.values.tolist()
    print(data)
    # 写入到文件中
    with open("../data/rating/demo_data01",'w',encoding='utf-8') as f:
        for list in data:
        	# 转成列表时 userId 和 movieId 是float类型,我需要转成int类型
            list[0] = int(list[0])
            list[1] = int(list[1])
            s=str(list[0])+'\t'+str(list[1])+'\t'+str(list[2])+'\n'
            f.write(s)
    

    然而,我在构建完demo_data01后使用这个输入集到模型网络中有问题
    报错:

    InvalidArgumentError (see above for traceback): indices[5519] = 4979 is not in [0, 3287)
    	 [[Node: embedding_lookup_1 = GatherV2[Taxis=DT_INT32, Tindices=DT_INT32, Tparams=DT_FLOAT, _device="/job:localhost/replica:0/task:0/device:CPU:0"](Variable_1/read, _arg_Placeholder_1_0_1, embedding_lookup_1/axis)]]
    

    我透,[0,3287)是我的模型从1w条数据中抽取了75个用户,包含3287条电影ID及3287条电影评分。
    这个4979是从哪冒出来的???


    原因:在模型中大量用到了range()函数,1w条数据随机抽取了几千条,这意味输入集的 userId 和 movieId 需要在一个连续的区间里面,上面这个报错是 movieId = 4979 不在连续区间 [0,3287)中。所以需要对 userId 和 movieId 做数据预处理让 movieId 处于[0,3287)这个区间中( userId 对我来说没必要处理)。

    import pandas as pd
    #添加数据
    #usecols=[0,1,2]使用前三列,不要时间戳了
    data = pd.read_csv('../data/rating/ratings.csv',nrows = 10000,encoding='utf-8',usecols=[0,1,2,3]) 
    # 根据 timestamp 降序排序
    data = data.sort_values(by=["timestamp"],ascending=[False])
    # print(data)
    #删除 timestamp 列
    data = data.drop('timestamp',axis=1)
    # 对 movieID 升序排序
    data = data.sort_values(by=["movieId"],ascending=[True])
    # 取出 movieId 列
    x = data.drop(['userId','rating'],axis=1)
    #print(data)
    #print(x.drop_duplicates())
    # movieId列去掉重复值,保证做字典时value值是唯一的
    y = x.drop_duplicates().values.tolist()
    # 创建字典
    d={}
    # 循环字典映射 index : movieId
    # index:movieId {0: [1], 1: [2], 2: [3], 3: [5], 4: [6],`...}
    for index in range(len(y)):
        d[index] = y[index]
    #print(d)
    #data = data.values.tolist()
    # 写入demo_data01
    with open("../data/rating/demo_data01",'w',encoding='utf-8') as f:
        for i in range(len(data)):
            for k in d:
            	# 根据 movieId 这个 value 值找 key 值,用 key 值取代 movieId
                if data[i][1] in d[k]:
                    s = str(int(data[i][0]))+'\t'+str(k)+'\t'+str(data[i][2])+'\n'
                    f.write(s)
    

    经过上述操作后,数据集已经能成功在模型中运行了!


    好吧,老师让我把userId也映射成连续的区间
    test.py

    import pandas as pd
    import utils
    #添加数据,取前10w行 统计得到用户ID数量:757,电影ID数量:9786
    data = pd.read_csv('../data/rating/ratings.csv',nrows = 100000,encoding='utf-8',usecols=[0,1,2,3]) #usecols=[0,1,2]使用前三列,不要时间戳了
    # 根据时间戳删除timestamp列降序排序
    data = data.sort_values(by=["timestamp"],ascending=[False])
    # print(data)
    #删除timestamp列
    data = data.drop('timestamp',axis=1)
    # 对 movieID 升序排序
    data = data.sort_values(by=["movieId"],ascending=[True])
    # 取出movieId列
    x = data.drop(['userId','rating'],axis=1)
    # 取出userId列
    x1 = data.drop(['movieId','rating'],axis=1)
    #print(data)
    #print(x.drop_duplicates())
    # movieId列去重,保证做字典时value值是唯一的
    y = x.drop_duplicates().values.tolist()
    # userId列去重,保证做字典时value值是唯一的
    y1 = x1.drop_duplicates().values.tolist()
    # 电影字典
    d={}
    # 用户字典
    d1={}
    # 循环字典映射 index : movieId
    # index:movieId {0: [1], 1: [2], 2: [3], 3: [5], 4: [6],`...},后期需要把这个字典返回出去以便找出真正的电影ID
    for index in range(len(y)):
        d[index] = y[index]
    for index in range(len(y1)):
        d1[index] = y1[index]
    # 保存文件以便以后找到原始ID,你也可以用其他方法保存
    # 获取时 u_dict = utils.pickle_load(“../data/rating/user_dict”)
    utils.pickle_save(d,"../data/rating/movie_dict")
    utils.pickle_save(d1,"../data/rating/user_dict")
    print(d)
    print(d1)
    print('用户ID数量:%d,电影ID数量:%d'%(len(d1),len(d)))
    
    data = data.values.tolist()
    # 写入demo_data01,pycharm 新建一个file(text)
    with open("../data/rating/demo_data01",'w',encoding='utf-8') as f:
        for i in range(len(data)):
            s=''
            for u in d1:
                if data[i][0] in d1[u]:
                    s = s+str(u)+'\t'
            for k in d:
                if data[i][1] in d[k]:
                    s = s + str(k)+'\t'+str(data[i][2])+'\n'
                    f.write(s)
    

    utils.py

    #coding: utf-8
    import pickle
    import time
    class Log():
        def log(self, text, log_time=False):
            print('log: %s' % text)
            if log_time:
                print('time: %s' % time.asctime(time.localtime(time.time())))
    
    def pickle_save(object, file_path):
        f = open(file_path, 'wb')
        pickle.dump(object, f)
    
    def pickle_load(file_path):
        f = open(file_path, 'rb')
        return pickle.load(f)
    
    展开全文
  • 这篇文章主要介绍了python3读取csv文件任意行列代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下读取每一reader = csv.reader(f) 此时reader返回的值...
  • Python--读取csv文件的整列

    万次阅读 2018-04-11 19:36:59
    上代码:#利用pandas读取csv文件 def getNames(csvfile): data = pd.read_csv(csvfile,delimiter='|') # 1--读取的文件编码问题有待考虑 names = data['EnName'] return names读取EnName这一列...
  • python按行或列读取csv文件的方式

    万次阅读 2018-09-13 20:32:58
    使用DictReader逐行读取csv文件  返回的每一个单元格都放在一个字典的值内,而这个字典的键则是这个单元格的列标题 # 逐行读取csv文件 with open(filename,'r',encoding="utf-8") as csvfile: reader...
  • 问题起因 我用python2清洗数据,并存到csv文件中 ...用python3读取csv文件时,报一下错误: UnicodeDecodeError: 'utf-8' codec can't decode byte 0x89 in position 32: invalid start byte 解...
  • python读写和处理csv文件

    万次阅读 多人点赞 2018-07-18 22:13:43
    这里我们使用pandas包来读取csv文件,pandans处理csv文件十分方便我认为是目前最方便的读取方式 首先安装pandans pip install pandans 安装好了之后我们读取一个csv文件 import pandas as pd #导入pandas包 ...
  • python读取csv 文件,提供了神经网络的程序,以及自编码器
  • 20200720-3-python利用numpy读取csv文件

    千次阅读 2020-07-20 20:14:00
    #python利用numpy模块读取csv文件 import numpy as np import pandas as pd import csv path = r'D:\python学习syw\numpy_pandas\【首月NPS】Findx2系列_数据透视表_1.csv' with open(path,encoding='gbk') as f: ...
  • 相信很多人的日常工作中,数据源除了...此篇就以pandas模块【读取CSV 】 为例,我会贴上我的代码截图【读取CSV 】1.读取单个CSV文件以下例子中,设置工作目录(这一步可用也可不用)只是为了方便,在批量读取文件的...
  • python3读取CSV文件数据
  • python pandas 读取csv 文件 , matplotlib 画基金净值线
  • 主要介绍了python读取csv文件指定的方法详解,需要的朋友可以参考下
  • Python 简单使用 pandas 读取excel 的 csv文件处理,支持utf-8和gbk编码自动识别。
  • python读取csv文件并绘图

    万次阅读 2020-08-02 21:50:26
    使用 python csv及matplotlib 读取csv文件并绘图 具体代码 import csv import matplotlib.pyplot as plt exampleFile = open('UCS.csv') # 打开csv文件 exampleReader = csv.reader(exampleFile) # 读取csv文件 ...
  • python基础之③csv文件读取和写入 QQ:3020889729 小蔡什么是CSV引用csv库简要说明打开csv文件的一种方式(用with……as……)csv文件读取csv文件写入pandas读取csv和写入csv QQ:3020889729
  • In an CSV file with python we can read all the file line by line or row by row , I want to read specific line (line number 24 example ) without reading all the file and all the lines.解决方案linecache...
  • 主要介绍了python3读取csv文件任意行列代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • 我有一个非常大的csv...此外,因为我想将转换为numpy数组,我不想读取任何一半的,所以不是指定大小,我想要一些我可以在读者中指定"no of rows”的东西.有没有内置功能或简单的方法来做到这一点.最佳答案cs...
  • Python】Pandas 读取csv文件/更改列名/显示列名清单/列名从旧数据框创建新数据框 import pandas as pd 读取csv data_df = pd.read_csv ('/path',usecols=['','']) 更改列名 #列名的数量需要和读取csv后的列...
  • 读取csv文件,用的是csv.reader()这个方法。返回结果是一个_csv.reader的对象,我们可以对这个对象进行遍历,输出每一,某一,或某一列。代码如下: 1 import csv 2 with open('data.csv', 'r') as f: 3 reader ...
  • 这篇文章主要介绍了Python读取csv文件实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 创建一个csv文件,命名为data.csv,文本内容如下: root,123456...
  • python利用numpy模块读取csv文件

    万次阅读 多人点赞 2019-02-23 12:49:16
    文章目录numpy.loadtxt()方法简单读取字符串处理-str参数跳过首行 - skiprow = 1读取特定列 - usecols参数numpy切片 numpy.loadtxt()方法 先来看一下示例CSV数据: X,Y,NAME,CLASS,AQI 120.7512427,30.75084798,嘉兴...
  • Python按分隔符读取csv文件

    千次阅读 2020-03-14 21:36:44
    csv: 代码: import pandas as pd import numpy as np filename = '校本数据平台-所有需求.csv' df = pd.read_csv(filename,' ',encoding='GBK') dataset = np.asarray(df) print(dataset[1]) 结果: ...
  • cnn2自编码器_python读取csv文件_读取csv文件_自编码_自编码器_源码.zip
  • 前面程序展示的数据都是直接通过程序给出的,但实际应用可能需要展示不同来源(比如文件、网络)、不同格式...csv 文件的每代表一数据,每数据中每个单元格内的数据以逗号隔开。Python 提供了 csv 模块来...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 59,147
精华内容 23,658
关键字:

python按行读取csv文件

python 订阅