python中csv文件创建、读取及修改等操作实例

1. python中创建新的csv文件

(1). 使用csv.writer()创建:

代码如下:

import csv

headers = ['学号','姓名','分数']
rows = [('202001','张三','98'),
        ('202002','李四','95'),
        ('202003','王五','92')]
with open('score.csv','w',encoding='utf8',newline='') as f :
    writer = csv.writer(f)
    writer.writerow(headers)
    writer.writerows(rows)

会在相同路径下生成一个score.csv文件

VScode中打开如下:

用excel打开如下:

可以发现,逗号','在csv文件中代表换格。除此以外,还有'\n'在csv文件中代表换行。

(2). 使用csv.Dictwriter()创建:

代码如下:

import csv

headers = ['学号','姓名','分数']
rows = [{'学号':'202001','姓名':'张三','分数':'98'},
        {'学号':'202002','姓名':'李四','分数':'95'},
        {'学号':'202003','姓名':'王五','分数':'92'}]
with open('score.csv','w',encoding='utf8',newline='') as f :
    writer = csv.DictWriter(f,headers)
    writer.writeheader()
    writer.writerows(rows)

会发现结果和方式1相同。

(3). 使用writelines()创建:

import csv

headers = ['学号,姓名,分数','\n']
csv = ['202001,张三,98','\n',
        '202002,李四,95','\n',
        '202003,王五,92']
with open('score.csv', 'w',encoding='utf8',newline='') as f:
    f.writelines(headers) # write() argument must be str, not tuple
    f.writelines(csv)

会发现结果和方式1、方式2相同。

综合上述三种方式,csv文件的创建灵活多样,主要依赖于自己创建的原来数据的存放形式,比如方式1、2中的rows和方式3中的csv,以此选择适合的创建csv文件的函数和方式。

实际示例(要灵活使用','、'\n'、append()等):

csv = []
for line in lines:
    scores = result[line[0]]
    for wav, scores in scores.items():
        # csv.append(line[0])
        # csv.append(wav)
        # csv.append(str(i) for i in scores)
        # csv.append('\n')
        #csv.append(','.join([wav] + [str(i) for i in scores] + '\n'))
        csv.append(line[0] +','+ wav )
        for i in scores:
            csv.append(','+ str(i))
        csv.append('\n')
with open('task3-result.csv', 'w') as f:
    f.writelines(csv)

2. python中读取csv文件

原score.csv文件在excel中打开如下:

(1). 使用pandas.read_csv()读取

代码如下:

import pandas as pd 

my_matrix = pd.read_csv('score.csv')#,header=None,index_col=None)
'''
header : int or list of ints, default ‘infer',指定行数用来作为列名,数据开始行数。如果文件中没有列名,则默认为0,
index_col : int or sequence or False, default None,用作行索引的列编号或者列名
'''
print(my_matrix)
print(my_matrix.shape)

此时的输出结果为:

若代码参数改为:

my_matrix = pd.read_csv('score.csv',header=None,index_col=None)

结果如下:

若代码参数改为:

my_matrix = pd.read_csv('score.csv',header=0,index_col=0)

结果如下:

为了方便后续分析,可以将数据类型改为np.array型,代码如下:

import pandas as pd
import numpy as np

my_matrix = pd.read_csv('score.csv')#,header=0,index_col=0)
my_matrix = np.array(my_matrix)
print(my_matrix)
print(my_matrix.shape)
print(my_matrix[0][0])

结果如下:

(2). 使用csv.reader()进行读取

代码如下:

import csv
#读取csv文件
with open('score.csv', "r",encoding='utf8',newline='') as f:
	reader = csv.reader(f)
	for row in reader:
		print(row)

结果如下:

如果想获取某一列,可以通过指定的列标号来查询,代码如下:

for row in reader:
    print(row[0])

可以输出某一指定的列 ,结果如下:

(3). 使用csv.DictReader()进行读取

代码如下:

import csv
#读取csv文件
with open('score.csv', "r",encoding='utf8',newline='') as f:
	reader = csv.DictReader(f)
	for row in reader:
		print(row)

结果如下:

如果想获取某一列,可以通过指定的标题来查询,代码如下:

for row in reader:
	print(row['学号'])

可以输出指定的某一列,结果如下:

总结

到此这篇关于python中csv文件创建、读取及修改等操作的文章就介绍到这了,更多相关python csv文件创建读取及修改内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • python写入数据到csv或xlsx文件的3种方法

    本文实例为大家分享了三种方式使用python写数据到csv或xlsx文件,供大家参考,具体内容如下 第一种:使用csv模块,写入到csv格式文件 # -*- coding: utf-8 -*- import csv with open("my.csv", "a", newline='') as f: writer = csv.writer(f) writer.writerow(["URL", "predict", "

  • python读写csv文件方法详细总结

    python提供了大量的库,可以非常方便的进行各种操作,现在把python中实现读写csv文件的方法使用程序的方式呈现出来. 在编写python程序的时候需要csv模块或者pandas模块,其中csv模块使不需要重新下载安装的,pandas模块需要按照对应的 python版本安装. 在python2环境下安装pandas的方式是: sudo pip install pandas 在python3环境下安装pandas的方式是: sudo pip3 install pandas 1.使用csv读写

  • 教你用Python读取CSV文件的5种方式

    目录 第一招:简单的读取 第二招:用nametuple 第三招:用tuple类型转换 第四招:用DictReader 第五招:用字典转换 典型的数据集stocks.csv: 一个股票的数据集,其实就是常见的表格数据.有股票代码,价格,日期,时间,价格变动和成交量.这个数据集其实就是一个表格数据,有自己的头部和身体. 第一招:简单的读取 我们先来看一种简单读取方法,先用csv.reader()函数读取文件的句柄f生成一个csv的句柄,其实就是一个迭代器,我们看一下这个reader的源码: 喂给re

  • Python写入CSV文件的方法

    本文实例讲述了Python写入CSV文件的方法.分享给大家供大家参考.具体如下: # _*_ coding:utf-8 _*_ #xiaohei.python.seo.call.me:) #win+python2.7.x import csv csvfile = file('csvtest.csv', 'wb') writer = csv.writer(csvfile) writer.writerow(['id', 'url', 'keywords']) data = [ ('1', 'http

  • Python Pandas批量读取csv文件到dataframe的方法

    PYTHON Pandas批量读取csv文件到DATAFRAME 首先使用glob.glob获得文件路径.然后定义一个列表,读取文件后再使用concat合并读取到的数据. #读取数据 import pandas as pd import numpy as np import glob,os path=r'e:\tj\month\fx1806' file=glob.glob(os.path.join(path, "zq*.xls")) print(file) dl= [] for f i

  • Python操作csv文件实例详解

    一.Python读取csv文件 说明:以Python3.x为例 #读取csv文件方法1 import csv csvfile = open('csvWrite.csv',newline='')#打开一个文件 csvReader = csv.reader(csvfile)#返回的可迭代类型 print(type(csvReader)) for content in csvReader: print(content) csvfile.close()#关闭文件 //运行结果如下: <class '_c

  • python对csv文件追加写入列的方法

    python对csv文件追加写入列,具体内容如下所示: 原始数据 [外链图片转存失败(img-zQSQWAyQ-1563597916666)(C:\Users\innduce\AppData\Roaming\Typora\typora-user-images\1557663419920.png)] import pandas as pd import numpy as np data = pd.read_csv(r'平均值.csv') print(data.columns)#获取列索引值 dat

  • python读取csv文件示例(python操作csv)

    复制代码 代码如下: import csvfor line in open("test.csv"):name,age,birthday = line.split(",")name = name.strip(' \t\r\n');age = age.strip(' \t\r\n');birthday = birthday.strip(' \t\r\n'); print (name + '\t' + age + '\t' + birthday) csv文件 复制代码 代

  • 利用Python如何将数据写到CSV文件中

    前言 我们从网上爬取数据,最后一步会考虑如何存储数据.如果数据量不大,往往不会选择存储到数据库,而是选择存储到文件中,例如文本文件.CSV 文件.xls 文件等.因为文件具备携带方便.查阅直观. Python 作为胶水语言,搞定这些当然不在话下.但在写数据过程中,经常因数据源中带有中文汉字而报错.最让人头皮发麻的编码问题. 我先说下编码相关的知识.编码方式有很多种:UTF-8, GBK, ASCII 等. ASCII 码是美国在上个世纪 60 年代制定的一套字符编码.主要是规范英语字符和二进制位

  • python中csv文件创建、读取及修改等操作实例

    1. python中创建新的csv文件 (1). 使用csv.writer()创建: 代码如下: import csv headers = ['学号','姓名','分数'] rows = [('202001','张三','98'), ('202002','李四','95'), ('202003','王五','92')] with open('score.csv','w',encoding='utf8',newline='') as f : writer = csv.writer(f) write

  • Python中文件的读取和写入操作

    从文件中读取数据 读取整个文件 这里假设在当前目录下有一个文件名为'pi_digits.txt'的文本文件,里面的数据如下: 3.1415926535 8979323846 2643383279 with open('pi_digits.txt') as f: # 默认模式为'r',只读模式 contents = f.read() # 读取文件全部内容 print contents # 输出时在最后会多出一行(read()函数到达文件末会返回一个空字符,显示出空字符就是一个空行) print '

  • Python中CSV文件(逗号分割)实战操作指南

    目录 一.csv文件介绍 1.csv文件简介 2.为什么要使用csv文件 二.csv文件查看 1.测试文件创建 2.查看csv文件(列表) 3.查看csv文件(字典) 4.写入文件(列表) 5.写入文件(字典) 总结 一.csv文件介绍 1.csv文件简介 逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本).纯文本意味着该文件是一个字符序列,不含必须像二进制数字那样被解读的数据.CSV

  • python中列表的切片与修改知识点总结

    python中可以使用下标索引来访问列表中的值,对列表进行切片即截取,也可以对列表的数据项进行修改或更新. 使用下标索引来访问列表中的值,例如list1[1]. 使用索引截取列表中的值,例如list1[2:4],截取列表内容不包括list1[4]. 列表的修改: 使用索引修改列表中的值,例如list1[1]=200. 使用append()方法来添加列表项,例如list1.append('d'). 使用insert()方法来添加列表项,例如list1.insert(3,'d'). append是在

  • Python中 CSV格式清洗与转换的实例代码

    题目: CSV格式清洗与转换 描述 附件是一个CSV格式文件,提取数据进行如下格式转换:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬ (1)按行进行倒序排列:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬

  • python中csv文件的若干读写方法小结

    如下所示: //用普通文本文件方式打开和操作 with open("'file.csv'") as cf: lines=cf.readlines() ...... //用普通文本方式打开,用csv模块操作 import csv with open("file.csv") as cf: lines=csv.reader(cf) for line in lines: print(line) ...... import csv headers=['id','usernam

  • 基于DATAFRAME中元素的读取与修改方法

    DATAFRAME中使用iat[1,0]和iloc[0,1]对元素进行修改. a = [("hahaha",1),("lalala",2),("cacaca",6)] b = padas.DataFrame(a) b.iat[1,0] = 1.0 将位置横竖坐标为1,0的元素改为值为1.0. 以上这篇基于DATAFRAME中元素的读取与修改方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • python中利用matplotlib读取灰度图的例子

    代码为: import matplotlib.pyplot as plt #用于显示图片 import matplotlib.image as mpimg # mpimg 用于读取图片 picdir = 'C:\\Users\\wyt\\Desktop\\test\\ship\\012400.jpg' img = mpimg.imread(picdir) plt.imshow(img) plt.title('Original train image') plt.show() 显示结果如下,是以热

  • Python中csv模块的基本使用教程

    1.csv简介 CSV (Comma Separated Values),即逗号分隔值(也称字符分隔值,因为分隔符可以不是逗号),是一种常用的文本 格式,用以存储表格数据,包括数字或者字符.很多程序在处理数据时都会碰到csv这种格式的文件,它的使用是比 较广泛的(Kaggle上一些题目提供的数据就是csv格式),csv虽然使用广泛,但却没有通用的标准,所以在处理csv 格式时常常会碰到麻烦,幸好python内置了csv模块.下面简单介绍csv模块中最常用的一些函数. 更多内容请参考:https:

  • 关于python中不同函数读取图片格式的区别浅析

    目录 前言:关于uint8和float型数据 一.skimage.io. 二.imageio 补充:python处理图像转化为uint8格式 总结 前言:关于uint8和float型数据 为了节省存储空间,图像一般存储在一种特殊的数据类型——uint8(8位无符号整数)中,以此方式存储的图像称作8位图像. imread把灰度图像存入一个8位矩阵,当为RGB图像时,就存入8位RGB矩阵中. 因此,通过matlab以及各种python包(skimage,imageio)读入图像的数据类型都是uint

随机推荐