精华内容
下载资源
问答
  • 在学习python过程中,遇到一种情况,要读取.csv文件数据,然后取出其中某个字段,然后再写入到一个文件中,用于数据的比对,代码如下: import csv import hashlib from itertools import islice from openpyxl ...

    在学习python过程中,遇到一种情况,要读取.csv文件的数据,然后取出其中某个字段,然后再写入到一个文件中,用于数据的比对,代码如下:

    import csv
    import hashlib
    from itertools import islice
    from openpyxl import Workbook
    
    
    # 生成指纹数据的方法
    def gen_md5(data):
        # 生成md5
        md5 = hashlib.md5()  # 获取一个md5加密算法对象
        md5.update(data.encode('utf-8'))  #制定需要加密的字符串
        return md5.hexdigest()  # 返回加密后的16进制字符串
    
    
    def getdata(ordfilename, number):
        n = 1  # 定义初始值用于计数
        name = str(ordfilename).rpartition(".")[-1]  # 生成新的文件名,用于写入数据后保存文件时的文件命名
        out_set = set()  # 创建一个空集合,用于保存后续生成的不重复的数据
        wb = Workbook()  # 创建openpyxl模块里的Workbook类的实例
        ws = wb.active  # 调用正在运行的工作表
        # 打开要处理的c文件
        with open(f"C:\\Users\\123\\Desktop\\{ordfilename}", "r", encoding="utf-8") as f:
            csv_file = csv.reader(f)  # 读取csv文件内容,返回一个 reader 对象
            # 通过 islice 用None替换掉第一行,实现过滤掉首行的目的
            for line in islice(csv_file, 1, None):
                # try…except捕获传入的序号非数字的异常
                try:
                    # 判断传入的数字是不是大于0
                    if number <= 0:
                        print("序号必须大于0")
                        return ValueError
                    else:
                        re_str = str(line).strip("['").split("|")[number - 1]  # 按照|分割读取csv文件的每行内容,并去除首尾的“['”字符
                        # print(re_str)
                        output_data = gen_md5(re_str)  # 调用gen_md5()方法,生成指纹数据
                        if output_data not in out_set:
                            out_set.add(output_data)  # 判断指纹数据是否已经在集合中,不在就添加到集合中,用于去除重复的数据
                            # print(re_str)
                            ws.cell(n, 1, re_str)  # 将不重复的数据存入到工作表第1列,第n行中
                            n += 1  # 计数自动加1
                except TypeError:
                    print("序号必须是大于0的整数")
                    return TypeError
        wb.save(f"C:\\Users\\123\\Desktop\\{name}.xlsx")  # 将写好的工作表保存为同名的.xlsx文件,文件存放到电脑桌面上
    
    
    if __name__ == "__main__":
        getdata("2020DATA1.csv", 1)  # 调用getdata方法,开始取数据并生成文件,取文件第一列的内容
       
    

    这里主要是考虑到几G的大文件不能加载到内存中了,强行加载到内存中可能直接内存爆满。

    解决方案是:将文件按行读取,根据内容生成一个指纹(md5值或者其他唯一可识别的值),将指纹保存到一个集合中,然后去判断集合中是否已经存在,不存在就添加到集合中。如果文件比较小,可以直接使用列表等处理重复数据。

    结果展示:

    原文件:
    在这里插入图片描述

    新文件:
    在这里插入图片描述

    参考链接:
    1、CSV 文件读写
    2、python学习——hashlib.md5摘要算法(哈希算法)
    3、python实现文件内容去重
    4、python–xlsx文件的读写

    展开全文
  • #用python绘制工件的图像 import pandas as pd import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D csv_data = np.loadtxt(open('/home/yifei/Proj/PythonProj/...

    #用python绘制工件的图像
    import pandas as pd
    import numpy as np
    import matplotlib.pyplot as plt
    from mpl_toolkits.mplot3d import Axes3D
    csv_data = np.loadtxt(open('/home/yifei/Proj/PythonProj/getboundary/csvs/fozi.csv',"rb"),delimiter=",",skiprows=0)
    np.argsort(csv_data, axis=0)#排序
    a,b=csv_data.shape
    print(a,b)
    # plt.xlabel('x')
    # plt.ylabel('y')
    # plt.title('Data')
    # plt.legend()
    # tidu=1000
    # qq=a/tidu
    # for j in range(0,int(qq)):
    #     x, y = csv_data[tidu*j:tidu*j+tidu, 0], csv_data[tidu*j:tidu*j+tidu, 1]
    #     #plt.scatter(x, y, s=0.01, c="#0000ff", marker='o')
    #     plt.plot(x, y, '*', label='Data', color='black')
    #     plt.show()

    #绘制散点图
    x, y = csv_data[:, 0], csv_data[:, 1]
    plt.legend()
    plt.plot(x, y, '*', label='Data', color='black')
    # plt.scatter(x, y, s=0.01, c="#0000ff", marker='o')
    plt.tick_params(axis='both',which='major',labelsize=1)
    plt.savefig('./test2.png')
    plt.show()

     


     

    展开全文
  • python读取csv 文件,提供了神经网络的程序,以及自编码器
  • python3读取CSV文件数据
  • 主要介绍了Python读取csv文件实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • 有时,我们读取的csv文件数据时发现没有表头/列名,是因为Python读取csv文件数据本来就没有表头,用pandas.read读取时,则第一行自动会被识别为columns,从而给后面的分析造成不便,这时候需要在读取文件数据的同时...

    有时,我们读取的csv文件数据时发现没有表头/列名,是因为Python读取csv文件数据本来就没有表头,用pandas.read读取时,则第一行自动会被识别为columns,从而给后面的分析造成不便,这时候需要我们在读取文件数据的同时添加列名。

    解决方法:

    1、在读取文件数据之后再定义列名

    df = pd.read_csv('评论.csv',header=None)
    df.columns = ["昵称","性别","评论时间","评论"] #添加自定义的columns的名字
    

    2、在读取文件数据的同时定义列名

    df = pd.read_csv('评论.csv',header=None,names=["昵称","性别","评论时间","评论"])
    

    注意:

    1、如果文件读取时是没有列名,那么header=None可以省去,但是文件中存在有列名,则不能省略,否则会出错。
    2、就算是文件中存在有列名,也可以利用header=None,names=[]来重新定义数据的列名。

    展开全文
  • 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及matplotlib 读取csv文件并绘图

    具体代码

    import csv
    import matplotlib.pyplot as plt
    
    exampleFile = open('UCS.csv')  # 打开csv文件
    exampleReader = csv.reader(exampleFile)  # 读取csv文件
    exampleData = list(exampleReader)  # csv数据转换为列表
    length_zu = len(exampleData)  # 得到数据行数
    length_yuan = len(exampleData[0])  # 得到每行长度
    
    # for i in range(1,length_zu):
    #     print(exampleData[i])
    
    x = list()
    y = list()
    
    for i in range(1, length_zu):  # 从第二行开始读取
        x.append(exampleData[i][0])  # 将第一列数据从第二行读取到最后一行赋给列表x
        y.append(exampleData[i][1])  # 将第二列数据从第二行读取到最后一行赋给列表
    
    plt.plot(x, y)  # 绘制x,y的折线图
    plt.show()  # 显示折线图
    
    
    展开全文
  • cnn2自编码器_python读取csv文件_读取csv文件_自编码_自编码器_源码.zip
  • python读取csv文件并添加索引 文章目录python读取csv文件并添加索引前言实现过程总结 前言 对于csv文件进行处理一个重要的步骤是为数据添加索引,方便后续的数据操作 实现过程 这里我们使用pandas库中的read_csv...
  • 今天小编就为大家分享一篇Python读取csv文件分隔符设置方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • cnn2自编码器_python读取csv文件_读取csv文件_自编码_自编码器_源码.rar.rar
  • 主要介绍了python读取csv文件指定行的方法详解,需要的朋友可以参考下
  • python读取csv文件

    千次阅读 2019-09-23 14:41:18
    python读取csv文件一般用于批量导入数据 def uploadfile(cls, file): results = {'usr_err_mes': 0, 'data': [], 'info': []} csv_data = [] # 此处的参数分别是从前台传递的csv文件,只读模式,gbk支持中文 ...
  • 使用python读取csv文件,转成字典存储,支持int,str,float等
  • 今天小编就为大家分享一篇使用python读取csv文件快速插入数据库的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • Python读取CSV 文件 去掉重复数据

    千次阅读 2019-12-12 16:40:54
    安装 xlrd 模块 和 pandas 模块 pip3 install xlrd pip install pandas Python 文件 导入pandas模块 ...读取文件 按照需要去重的列名去重数据 import csv #导入pandas包 data = pd.read_csv("E:/test.csv") ...
  • 今天老唐简单记录一下使用自带的 csv 库怎么进行 Python文件读写操作,主要包括新建文件、追加写入、读取文件等操作。其实还是比较简单的,但是看到网上有人给了个错误的示范,还是有必要写个正确的。一、Python ...
  • python读取csv文件并将数据传到数据库 要点 其一就是使用 csv.readercsv.readercsv.reader 进行数据读很方便,具体用法可参考https://docs.python.org/zh-cn/3.9/library/csv.html 其二我这里是将数据写到远程...
  • Python读取csv文件中的数据并放入数组 楼主用的是Python3,代码如下: import os import pandas as pd import requests PATH = r'C:\Users\Administrator\Desktop' #要打开的文件的路径 df = pd.read_csv(PATH+'iris...
  • 利用Python读取CSV文件并统计数据

    万次阅读 2019-04-29 15:02:53
    由于文件大小带有不同的单位GB、MB、KB,在CSV或EXCEL中直接统计也不方便,使用python小脚本可以简单解决以上问题。 代码如下: #coding=utf-8 import csv #import re #拓展:正则表达式 提取字符串中数字 f = ...
  • Python读取CSV单列数据

    千次阅读 2019-10-30 16:07:09
    python处理后缀为csv这种数据,例如股票数据,单独读取一列有两种办法 新建一个数组,将数据存在数组中,或者直接用os中的方法。...import pandas as pd#处理csv数据必备的包 import os#python处理文件的包 FilesP...
  • 使用python读取csv文件

    万次阅读 多人点赞 2018-06-23 12:57:58
    python读取文件的操作是很常见的,所以在这里记录一下相关的操作步骤: 有参考这篇博客:https://www.cnblogs.com/unnameable/p/7366437.html 文件的读取 1.首先你得有一个csv文件,可以把excel文件另存为csv...
  • python读取csv文件并转为list的结果图,是python读取csv文件并转为list的详细每步的结果。
  • Python读取csv文件(详解版,看了无师自通)

    万次阅读 多人点赞 2019-06-30 15:34:45
    csv 文件格式的本质是一种以文本存储的表格数据...由于 csv 文件的格式本身比较简单(通常第一行是表头,用于说明每列数据的含义,接下来每行代表一行数据),因此使用 csv 模块读取 csv 文件也非常简单: 创建 c...
  • 前面程序展示的数据都是直接通过程序给出的,但实际应用可能需要展示不同来源(比如文件、网络)、不同格式(比如 csv、JSON)的数据,这些数据可能有部分是损坏的,因此程序需要对这些数据进行处理。csv 文件格式的...
  • 下面小编就为大家分享一篇python读取csv文件并把文件放入一个list中的实例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 使用python读取csv文件并插入数据库,超快
  • Python读取CSV文件的5种方式

    万次阅读 多人点赞 2020-08-17 13:39:10
    典型的数据集stocks.csv: 一个股票的数据集,其实就是常见的表格数据。有股票代码,价格,日期,时间,价格变动和成交量。这个数据集其实就是一个表格数据,...首先读取csv 文件,然后用csv.reader生成一个csv迭代器

空空如也

空空如也

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

python读取csv文件数据

python 订阅