精华内容
下载资源
问答
  • python读取csv文件的方法-python读写csv文件方法详细总结
    2020-11-01 11:50:45

    python提供了大量的库,可以非常方便的进行各种操作,现在把python中实现读写csv文件的方法使用程序的方式呈现出来。

    在编写python程序的时候需要csv模块或者pandas模块,其中csv模块使不需要重新下载安装的,pandas模块需要按照对应的

    python版本安装。

    在python2环境下安装pandas的方式是:

    sudo pip install pandas

    在python3环境下安装pandas的方式是:

    sudo pip3 install pandas

    1、使用csv读写csv文件方法总结

    读文件的时候,打开文件,调用csv.reader()读取文件;对于读取之后的文件的内容,要把这些内容输入到另一个文件中保存,可以通过遍历读取的文件的每一行,然后使用csv_write.writerow()的方式写入到指定的文件。

    2、使用csv读写csv文件示例代码

    #encoding:utf-8

    import csv

    #读取csv文件

    csv_file = csv.reader(open('../../data/capital/2010-Q4-cabi-trip-history-data.csv'))

    print(csv_file)

    #添加newline可以避免一行之后的空格,这样需要在python3环境下运行

    out = open('../../data/capital/2010-Q4','a',newline='')

    csv_write = csv.writer(out,dialect='excel')

    for item in csv_file:

    #print item

    csv_write.writerow(item)

    print("write over")

    上面的代码是传统的打开文件---读取文件---打开文件---关闭文件的方式进行文件读取和写入。在读取和写入的过程中分别调用了csv库的reader()和writer()

    3、使用csv读写csv文件示例代码

    #encoding:utf-8

    import csv

    #下面这种加了encoding的写法需要在python3环境下运行

    csv_reader = csv.reader(open('../../data/capital/2011-Q1-cabi-trip-history-data.csv',encoding='utf-8'))

    out = open('../../data/capital/a0','w',newline='')

    csv_writer = csv.writer(out,dialect='excel')

    for row in csv_reader:

    #输出的每一行是一个list,list中的每一个元素转换成了string类型

    print(row)

    csv_writer.writerow(row)

    示例代码2的读写方式与示例代码1的方式基本相同,不同的是在示例代码2中打开文件的时候指定了打开时的编码方式,对于输出文件的打开方式也与示例代码1的方式有少量的差别,把写入方式右'a'改成了'w

    4、使用csv读写csv文件示例代码

    #encoding:utf-8

    import csv

    #读取csv文件方式1

    csvFile = open('../../data/capital/2011-Q3-cabi-trip-history-data.csv','r')

    reader = csv.reader(csvFile)

    data = []

    for item in reader:

    #print(item)

    data.append(item)

    #print(data)

    csvFile.close()

    #读取csv文件方式2

    with open("../../data/capital/2011-Q3-cabi-trip-history-data.csv",'r') as csvFile:

    #读取csv文件,返回的是迭代类型

    reader2 = csv.reader(csvFile)

    for item2 in reader2:

    print(item2)

    csvFile.close()

    #从列表写入csv文件

    #设置newline,否则两行之间会空一行

    csvFile2 = open('../../data/capital/0001.csv','w',newline='')

    writer = csv.writer(csvFile2)

    m = len(data)

    for i in range(m):

    writer.writerow(data[i])

    csvFile2.close()

    #从字典写入csv文件

    dic = {'张三':123,'李四':456,'王二娃':789}

    csvFile3 = open('../../data/capital/0001.csv','w',newline='')

    writer2 = csv.writer(csvFile3)

    for key in dic:

    print(key)

    #writer2.writerow([key,dic[key]])

    csvFile3.close()

    在上面的代码中提出了两种不同的打开csv文件和写入csv文件的方式。其中第一种打开方式与前面两种非常相似,不同之处是在这种方式中,打开文件的时候加入了读取方式,而前面两个示例代码没有加。另一种读取方式是采用python中独有的命名方式对打开文件命名,其他部分相似。在这个示例中,对列表和字典写入csv文件做了区分,分别提供了列表和字典写入csv文件的示例代码。

    5、使用csv读写csv文件示例代码

    #encoding:utf-8

    '''

    import pandas as pd

    #任意的多组列表

    a = [1,2,3]

    b = [4,5,6]

    #字典中的key值即为csv中的列名

    dataFrame = pd.DataFrame({'a_name':a,'b_name':b})

    #将DataFrame存储为csv,index表示是否显示行名,default=True

    dataFrame.to_csv('0001.csv',index=False,sep='')

    #pandas提供的读取csv的方法

    data = pd.read_csv('test.csv')

    '''

    #===================================

    #另一种方法:用csv包,一行一行写入

    import csv

    #python2可以用file替代open

    with open('test.csv','w') as csvFile:

    writer = csv.writer(csvFile)

    #先写columns_name

    writer.writerow(["index","a_name","b_name"])

    #写入多行用writerows

    writer.writerows([[1,2,3],[0,1,2],[4,5,6]])

    #用reder读取csv文件

    with open('test.csv','r') as csvFile:

    reader = csv.reader(csvFile)

    for line in reader:

    print line

    这个示例代码提出了写入一行和写入多行的实现方式。

    6、使用csv读写csv文件示例代码

    #encoding:utf-8

    import csv

    with open('test.csv') as csvFile:

    #readcsv = csv.reader(csvFile,delimiter='')

    readcsv = csv.reader(csvFile)

    #

    rows= [row for row in readcsv]

    for row in readcsv:

    rows= [row for row in reader]

    #print(row)#打印一行

    print(row[0])#打印一行中的某个cell

    print(row[0],row[1])#打印一行中的某个cell

    print('=================')

    with open('test.csv') as csvFile:

    readCSV = csv.reader(csvFile)

    cols1 = []

    cols2 = []

    cols3 = []

    for row in readCSV:

    col1 = row[0]

    col2 = row[1]

    col3 = row[2]

    cols1.append(col1)

    cols2.append(col2)

    cols3.append(col3)

    print cols1

    print cols2

    print cols3

    上面的代码示例提出了读取所有行的新写法,提出了读取某个cell和某一列的方式。

    7、使用csv读写csv文件示例代码

    #encoding:utf-8

    import csv

    #第一种方法:使用reader函数,接收一个可迭代的对象(比如csv文件),能返回一个生成器,就可以从其中解析出csv的内容.eg:下面的代码可以读取csv的全部内容,以行为单位

    with open('test.csv','rb') as csvFile:

    reader = csv.reader(csvFile)

    rows = [row for row in reader]

    print rows

    print('===========')

    #提取其中某一列可以使用下面的方法

    with open('test.csv','rb') as csvFile:

    reader = csv.reader(csvFile)

    column = [row[1] for row in reader]

    print column

    print('======第二种方法======')

    #第二种方法:使用DictReader,和reader函数类似,接收可迭代的对象,能返回一个可迭代的对象,能返回一个生成器,但是返回的每一个单元格都放在一个字典的值内,而这个字典的键则是这个单元格的标题.用下面的代码可以看到DictReader的结构:

    with open('test.csv','rb') as csvFile:

    reader = csv.DictReader(csvFile)

    column = [row for row in reader]

    print(column)

    #使用CictReader读取csv的某一列,这样可以按照列的标题查询

    with open('test.csv','rb') as csvFile:

    reader = csv.DictReader(csvFile)

    column = [row['a_name'] for row in reader]

    print column

    上面的代码提出了读取整行和整列的新方式。另外提出了一种使用DictReader的方式按照列名读取的方式。

    8、使用csv读写csv文件示例代码

    #encoding:utf-8

    import csv

    with open('test.csv','rb') as csvFile:

    reader = csv.reader(csvFile)

    for row in reader:

    print row

    #向csv文件中写内容,这样写会把内容全部写到一个cell中

    with open('test1.csv','wb') as csvFile:

    writer = csv.writer(csvFile,delimiter=' ',quotechar='|',quoting=csv.QUOTE_MINIMAL)

    writer.writerow(['a','4','5','6'])

    writer.writerow(['b','1','2','3'])

    writer.writerow(['c','9','8','7'])

    writer.writerow(['d','8','3','1'])

    #向csv文件中写内容,下面的写法最终可以把每一列的内容放在一个cell中

    with open('test2.csv','wb') as csvFile:

    writer = csv.writer(csvFile,dialect='excel')

    writer.writerow(['a','4','5','6'])

    writer.writerow(['b','1','2','3'])

    writer.writerow(['c','9','8','7'])

    writer.writerow(['d','8','3','1'])

    上面的代码提出了可以把列表中的数据放入到不同cell的实现方式。

    更多相关内容
  • python提供了大量的库,可以非常方便的进行各种操作,现在把python中实现读写csv文件的方法使用程序的方式呈现出来。 在编写python程序的时候需要csv模块或者pandas模块,其中csv模块使不需要重新下载安装的,pandas...
  • 今天小编就为大家分享一篇使用python读取csv文件快速插入数据库的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 主要介绍了python读取csv文件指定行的方法详解,需要的朋友可以参考下
  • 今天小编就为大家分享一篇Python读取csv文件分隔符设置方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 读取CSV文件,把csv文件放在一份list中。 ''' import csv class readCSV(object): def __init__(self,path="Demo.csv"): #创建一个属性用来保存要操作CSV的文件 self.path=path try: #打开一个csv文件,并赋予读...
  • 使用python读取csv文件,转成字典存储,支持int,str,float等
  • python读取csv文件并转为list的结果图,是python读取csv文件并转为list的详细每步的结果。
  • 读取csv时遇到一个长数字(比较...https://www.jb51.net/article/164692.htm (见文章【 4、使用csv读写csv文件示例代码】) import csv csvFile = open('5000 Sales Records.csv','r') reader = csv.reader(csvFil
  • Python读取与写入CSV文件需要导入Python自带的CSV模块,然后通过CSV模块中的函数csv.reader()与csv.writer()来进行CSV文件的读取与写入。 写入CSV文件 import csv # 需要import csv的文件包 out=open(aa.csv,'wb') ...
  • Python 读取CSV文件

    2021-10-25 16:58:57
    按行读取csv文件 (1)reader函数 import csv with open('test.csv','rt') as csvfile: #此csv文件是一个文本文件,并非二进制文件,如是二进制文件,'rt'改为'rb' reader = csv.reader(csvfile) rows = [row ...

    csv文件如下所示:

     

    按行读取csv文件

    (1)reader函数

    import csv
    with open('test.csv','rt') as csvfile: #此csv文件是一个文本文件,并非二进制文件,如是二进制文件,'rt'改为'rb'
      reader = csv.reader(csvfile)
      rows = [row for row in reader]
    print (rows)

       结果:

      

       如果想读取特定的行: 

    import csv
    with open('test.csv','rt') as csvfile:
    	reader = csv.reader(csvfile)
    	for i,rows in enumerate(reader):
    		if i == 2:
    			row = rows
    print (row)

       结果:

       ['3', '4', '5', '3', '9']

    (2)DictReader

    csv文件:

     

     和reader函数类似,接收一个可迭代的对象,能返回一个生成器,但是返回的每一个单元格都放在一个字典的值内,而这个字典的键则是这个单元格的标题(即列头)。用下面的代码可以看到DictReader的结构:

    import csv
    with open('test.csv','rt') as csvfile:
    	reader = csv.DictReader(csvfile)
    	rows = [row for row in reader]
    print (rows)

    结果:

    [OrderedDict([('实验', '8'), ('观测', '2'), ('模拟', '7'), ('误差', '6'), ('总计', '8')]),

    OrderedDict([('实验', '3'), ('观测', '4'), ('模拟', '5'), ('误差', '3'), ('总计', '9')]),

    OrderedDict([('实验', '0'), ('观测', '0'), ('模拟', '0'), ('误差', '0'), ('总计', '0')]),

    OrderedDict([('实验', '0'), ('观测', '7'), ('模拟', '8'), ('误差', '9'), ('总计', '9')]),

    OrderedDict([('实验', '0'), ('观测', '0'), ('模拟', '0'), ('误差', '0'), ('总计', '0')]),

    OrderedDict([('实验', '0'), ('观测', '0'), ('模拟', '0'), ('误差', '0'), ('总计', '0')]),

    OrderedDict([('实验', '0'), ('观测', '0'), ('模拟', '0'), ('误差', '0'), ('总计', '0')])]

    如果我们想用DictReader读取csv的某一列,就可以用列的标题查询:

    import csv
    with open('test.csv','rt') as csvfile:
    	reader = csv.DictReader(csvfile)
    	for row in reader:
    		if row['误差']=='9':
    			print(row)

    结果:

    OrderedDict([('实验', '0'), ('观测', '7'), ('模拟', '8'), ('误差', '9'), ('总计', '9')])

    可见,DictReader很适合读取csv的的行(记录)。

    展开全文
  • python读写csv文件

    2021-03-17 02:55:00
    csv释义逗号分隔值(Comma-Separated Values,CSV...CSV文件由任意数目的记录组成,记录间以某种换行符分隔;每条记录由字段组成,字段间的分隔符是其它字符或字符串,最常见的是逗号或制表符。通常,所有记录都有完...

    csv释义

    逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本)。纯文本意味着该文件是一个字符序列,不含必须像二进制数字那样被解读的数据。CSV文件由任意数目的记录组成,记录间以某种换行符分隔;每条记录由字段组成,字段间的分隔符是其它字符或字符串,最常见的是逗号或制表符。通常,所有记录都有完全相同的字段序列。通常都是纯文本文件。建议使用WORDPAD或是记事本(NOTE)来开启,再则先另存新档后用EXCEL开启,也是方法之一。

    读取csv文件

    reader(filename),可以使用reader()方法来创建一个对象从csv文件中读取数据。

    官方文档:csv.reader(csvfile, dialect='excel', **fmtparams)  //csvfile是任何可以迭代的对象(如果是文件对象则用newline=''来打开它),dialect翻译为方言用于定制解析器来解析数据,**fmtparams为解析器参数

    读文件时,输入数据的每一行都会解析,并返回一个列表

    创建一个csv文件写入如下数据,python读取:

    c49d5079afa41e108b5bd0814cea83ef08b.jpg

    >>> with open('test.csv','r',newline='') as csvfile:

    ... reader=csv.reader(csvfile)>>> for i inreader:

    ...print(i)

    ...

    ['name', 'tel', 'address', 'age']

    ['zhang', '15111111111', 'beijing', '33']

    ['li', '13822222222', 'wuhan', '28']

    ['liu', '15933333333', 'hainan', '25']

    写csv文件

    writer(filename),使用writer方法来写数据

    csv.writer(csvfile, dialect='excel', **fmtparams)  //参数与读完全基本相同

    写一段代码来测试

    importcsv

    with open('test1.csv','w',newline='') as f:

    writer=csv.writer(f)

    writer.writerow(('name', 'tel', 'address', 'age'))

    writer.writerow(('zhang', 15111111111, 'beijing', 33))

    writer.writerow(('li', 13822222222, 'wuhan', 28))

    writer.writerow(('liu', 15933333333, 'hainan', 25))

    with open('test1.csv','r',newline='') as f:

    reader=csv.reader(f)for i inreader:print(i)

    结果:

    ['name', 'tel', 'address', 'age']

    ['zhang', '15111111111', 'beijing', '33']

    ['li', '13822222222', 'wuhan', '28']

    ['liu', '15933333333', 'hainan', '25']

    发现结果与输入不同,默认引号模式的原因

    写文件时可用quoting来设置引号模式

    默认为:writer = csv.writer(f,quoting=csv.QUOTE_NONNUMERIC)  //非数字加引号

    可改为:

    QUOTE_ALL:所有字段加引号

    QUOTE_MINIMAL:特殊字段加引号

    QUOTE_NONE:都不加引号

    方言

    用于定制解析器,无需将各个参数单独传入阅读器和书写器,可以组成一起构成一个方言对象

    标准库包括两个方言:excel和excel-tabs,默认为excel

    csv方言参数:

    属性

    默认值

    含义

    delimiter

    ,

    字段分隔符

    doublequote

    True

    控制quotechar实例是否成对

    escapechar

    None

    指示一个转义序列

    lineterminator

    \r\n

    书写器使用这个结束一行

    quotechar

    "

    用来包围含特殊字符的字段

    quoting

    QUOTE_MINIMAL

    控制引号行为

    skipinitialspace

    False

    忽略字符定界符前的空白符

    将”行“转换为字典

    DictReader和DictWriter类将行转化为字典而非行

    官方文档:class csv.DictReader(csvfile, fieldnames=None, restkey=None, restval=None, dialect='excel', *args, **kwds)

    参数说明:

    fieldnames:字典的键,默认为第一行数据

    restkey:若所读行字段多余给出的键个数,剩余键由restkey给出

    restkey:若所读行字段少于给出的键个数,剩余值由restval给出

    例如上述test1.csv文件

    with open('test1.csv','r',newline='') as f:

    reader=csv.DictReader(f)for i inreader:print(i)

    结果:

    {'address': 'beijing', 'name': 'zhang', 'age': '33', 'tel': '15111111111'}

    {'address': 'wuhan', 'name': 'li', 'age': '28', 'tel': '13822222222'}

    {'address': 'hainan', 'name': 'liu', 'age': '25', 'tel': '15933333333'}

    DictWriter类似DictReader,提供一个列表作为键

    writer = csv.DictWriter(f,list)

    官方文档:class csv.Dictwriter(csvfile, fieldnames, restval='', extrasaction='raise', dialect='excel', *args, **kwds)

    更多详细解释可访问python标准库

    展开全文
  • Python读取CSV文件

    千次阅读 2020-11-29 18:12:21
    读取CSV文件Iterable:是一个行迭代器Dialect:默认的读取方式是以excel的形式去读下面是准备的csv格式的文档,我们来用python读取读取操作:读取结果如下:['class', 'name', 'sex', 'height', 'year']['1', '...

    1.CSV简介

    格式,用以存储表格数据,包括数字或者字符,下面主要介绍csv文件读取和写入两种方式

    2. 读取CSV文件

    1545272-20200429221102294-535932233.png

    Iterable:是一个行迭代器

    Dialect:默认的读取方式是以excel的形式去读

    下面是准备的csv格式的文档,我们来用python读取

    1545272-20200429221327065-173471449.png

    读取操作:

    1545272-20200429222021737-2144133110.png

    读取结果如下:

    ['class', 'name', 'sex', 'height', 'year']

    ['1', 'wangtao', 'male', '168', '23']

    ['2', 'lixiang', 'female', '162', '22']

    ['3', 'zuxiaobin', 'female', '163', '21']

    ['4', 'xiaoer', 'male', '158', '21']

    3.写入csv文件-方式一(列表、元组类型)

    1545272-20200429223307522-240750212.png

    1545272-20200429223350298-1491714247.png

    写入结果:

    1545272-20200429223537444-631186843.png

    可以看到写入结果中含有空白行,为了去掉空白的行,我们需要添加代码newline=''即可解决

    file = open("write_csv1.csv","w",encoding="utf-8",newline='')

    另外这里需要解释两个方法,writerow()和writerows(),前者是写入单行内容,后者是同时写入多行内容,可以写入列表或者元组对象。

    4.写入csv文件-方式二(字典类型)

    1545272-20200429230242161-1725813485.png

    1545272-20200429230300213-738154481.png

    1545272-20200429230300213-738154481.png

    写入结果:

    1545272-20200429230341790-1867209650.png

    参数解释:DictWriter类接收一个文件对象和序列文件,文件对象代表csv文件对象,序列文件列表代表表头所组成的列,同样该类下实现了单行写入writerow()和多行写入writerows()的方法

    5.读写模式:

    可分为写模式和追加模式,按照python文件读取的方式,”w”(写),”r”(读),”a”(追加)

    展开全文
  • 主要介绍了python读写csv文件的方法,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值 ,需要的朋友可以参考下
  • 主要介绍了Python读取csv文件实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • python读取csv文件

    2022-01-06 20:04:11
    python读取csv文件的方法是用pandas.read_csv('file.csv'),这个方法读取csv文件,然后得到一个dataframe对象,即read_csv()函数的作用在于:将一个csv文件转化为dataFrame对象(pandas中的一种数据组织形式) ...
  • 今天小编就为大家分享一篇python 读取.csv文件数据到数组(矩阵)的实例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 使用Python读写csv文件的三种方法

    千次阅读 2021-02-04 14:08:51
    Python读写csv文件觉得有用的话,欢迎一起讨论相互学习~Follow Me前言逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本)。...
  • 复制代码 代码如下:import csvfor line in open(“test.csv”):name,age,birthday = line.split(“,”)name = name....csv文件 复制代码 代码如下:alice, 22, 1992/03/05bob, 33, 1981/11/21cart, 40, 1974/07/13
  • 以上这篇python读取几个G的csv文件方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持软件开发网。 您可能感兴趣的文章:python读csv文件时指定行为表头或无表头的方法Python把对应格
  • python读写CSV文件

    2021-01-24 10:13:36
    python读/写CSV文件 1.pythoncsv文件 读取csv文件,首先导入CSV模块: import csv 由于CSV文件本质上是一个文本文件,所以要先以文本文件的形式打开,再将文件对象传递给CSV模块: with open(filepath,"r",encoding...
  • python读取csv 文件,提供了神经网络的程序,以及自编码器

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 80,072
精华内容 32,028
关键字:

python读取csv文件

友情链接: client1.rar