导航:首页 > 编程语言 > 怎么用python写csv文件并且分行

怎么用python写csv文件并且分行

发布时间:2024-01-12 06:09:24

python csv模块(读写文件)

CSV文件又称为逗号分隔值文件,是一种通用的、相对简单的文件格式,用以存储表格数据,包括数字或者字符。CSV是电子表格和数据库中最常见的输入、输出文件格式。

通过爬虫将数据抓取的下来,然后把数据保存在文件,或者数据库中,这个过程称为数据的持久化存储。本节介绍Python内置模块CSV的读写操作。

1)csv.writer()

csv模块中的writer类可用于读写序列化的数据,其语法格式如下:

参数说明:

csvfile:必须是支持迭代(Iterator)的对象,可以是文件(file)对象或者列表(list)对象。

dialect:编码风格,默认为excel的风格,也就是使用逗号,分隔。

fmtparam:格式化参数,用来覆盖之前dialect对象指定的编码风格。

如果想同时写入多行数据,需要使用writerrows()方法,代码如下所示:

aggs.csv文件内容:

2)csv.DictWriter()

当然也可使用DictWriter类以字典的形式读写数据,使用示例如下:

name.csv文件内容,如下所示:

1)csv,reader()

csv模块中的reader类和DictReader类用于读取文件中的数据,其中reader()语法格式如下:

2)csv.DictReader()

应用示例如下:

输出结果:

开课吧广场-人才学习交流平台

❷ 如何用python将内容换行输出

#改成这句:
f.write(" ".join(list1))

❸ 如何用python处理csv文件

使用csv模块处理:

import csv
reader = csv.reader(open("samples/sample.csv"))
for title, year, director in reader:
print year, title

❹ Python之csv模块

csv文件具有格式简单,快速存取,兼容性好等特点,工程、金融、商业等很多数据文件都是采用csv文件保存和处理。工作中数据处理也用到了csv,简要总结下使用经验,特别是那些由于本地兼容性导致的与官方文档的差异使用。
csv(comma Seperated Values)文件的格式非常简单,类似一个文本文档,每一行保存一条数据,同一行中的各个数据通常采用逗号(或tab)分隔。

python自带了csv模块,专门用于处理csv文件的读取和存档。
csv模块中,主要由两种方式存取csv文件:函数方法;类方法。

csv.reader(csvfile,dialect ='excel',** fmtparams)
返回一个reader对象,它将迭代给定csvfile中的行。
csvfile可以是任何支持迭代器协议的对象,并在每次next()调用其方法时返回一个字符串- 文件对象和列表对象都是合适的。如果csvfile是一个文件对象,那么它必须在平台上以“b”标志打开,这会产生影响。可以给出可选的 dialect 参数,该参数用于定义特定于CSV方言的一组参数。它可以是类的子类的实例,也可以是函数Dialect返回的字符串之一 list_dialects()。其他可选的fmtparams可以给出关键字参数来覆盖当前方言中的各个格式参数。

csv.writer(csvfile,dialect ='excel',** fmtparams)
返回一个编写器对象,负责将用户的数据转换为给定的类文件对象上的分隔字符串。
csvfile可以是带有write()方法的任何对象 。如果csvfile是一个文件对象,那么它必须在平台上以“b”标志打开,这会产生影响。 可以给出可选的dialect参数,该参数用于定义特定于CSV方言的一组参数。它可以是类的子类的实例,也可以是函数Dialect返回的字符串之一 list_dialects()。可以给出其他可选的fmtparams关键字参数来覆盖当前dialect中的各个格式参数。

class csv.DictReader(f,fieldnames = None,restkey = None,restval = None,dialect ='excel',* args,** kwds)
创建一个像常规阅读器一样操作的对象,但将读取的信息映射到一个dict,其键由可选的 fieldnames 参数给出。 字段名 的参数是一个序列,其元素与输入数据的顺序中的字段相关联。这些元素成为结果字典的关键。如果省略 fieldnames 参数,则文件 f 的第一行中的 将用作字段名。如果读取的行包含的字段多于字段名序列,则将剩余数据添加 为由restkey 值键入的序列。如果读取的行的字段数少于字段名序列,则其余的键将采用可选的 restval 参数的值。任何其他可选或关键字参数都将传递给基础 reader 实例。

class csv.DictWriter(f,fieldnames,restval ='',extrasaction ='raise',dialect ='excel',* args,** kwds)
创建一个像常规编写器一样操作的对象,但将字典映射到输出行。的字段名的参数是一个序列识别在哪些值在传递给字典中的顺序按键的writerow()方法被写入到文件˚F。如果字典缺少字段名中的键,则可选的restval参数指定要写入的值。如果传递给方法的字典包含在字段名中找不到的键,则可选的extrasaction参数指示要采取的操作。如果设置为a 则被提升。如果设置为writerow()'raise'ValueError'ignore',字典中的额外值将被忽略。任何其他可选或关键字参数都将传递给基础 writer实例。
请注意,与DictReader类不同,它的fieldnames参数DictWriter不是可选的。由于Python的dict 对象没有排序,因此没有足够的信息来推断应该将行写入文件f的顺序。

❺ python怎么写入csv文件

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=Truedataframe.to_csv("test.csv",index=False,sep='')1234567891011
a_name b_name0 1 41 2 52 3 61234

同样pandas也提供简单的读csv方法
import pandas as pddata = pd.read_csv('test.csv')12

会得到一个DataFrame类型的data,不熟悉处理方法可以参考pandas十分钟入门
另一种方法用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([[0,1,3],[1,2,3],[2,3,4]])12345678910
index a_name b_name0 1 31 2 32 3 41234

读取csv文件用reader
import csvwith open("test.csv","r") as csvfile:
reader = csv.reader(csvfile) #这里不需要readlines
for line in reader:
print line

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

如果你的数据是列表格式,可以使用一个迭代器,将数据写入文件,同时添加必要的分隔符以构成csv文件
如果数据是字典格式,需要考虑使用换行符或者其他特殊符号来分割每个字典元素(包括键和值)。键和值可以考虑使用和之前不重复的分隔符进行分割。
这样就构成了一个csv文件(csv使用分隔符分割值的文件)
操作方法如下:
1,使用读写追加的方式打开csv文件。
2,找到csv文件的结尾。
3,在结尾使用和之前csv使用的分割相同的格式进行数据添加。
4,关闭文件

阅读全文

与怎么用python写csv文件并且分行相关的资料

热点内容
怎么理解虚拟服务器 浏览:402
黑马程序员ai培训课资源 浏览:648
abplc加密软件下载 浏览:421
交叉编译内核后 浏览:275
php小程序100行左右 浏览:103
要进行压缩解压的命令是 浏览:736
mscod编程平台 浏览:520
pdf文字转换word文档 浏览:992
php连接mssql2005 浏览:894
库进行编译可以吗 浏览:773
云南石油app推荐码哪里看 浏览:457
ipone有文件加密吗 浏览:72
蝴蝶文件夹怎么使用 浏览:699
wps文件夹安装包在哪里 浏览:439
android2x 浏览:135
知音购物app哪里下载 浏览:527
stc单片机看门狗 浏览:790
单片机与计算机串口通信 浏览:309
linux安装jdk7 浏览:286
因子估算法例子 浏览:240