python对csv文件处理,python读取csv文件代码
csv文件简介CSV文件
逗号分隔的值
Csv是一个文本文件,通过行分隔符和列分隔符分为行和列。CSV不指定字符编码。
行分隔符是\r\n,最后一行不能有换行符。列分隔符通常是逗号或制表符。每一行被称为一个记录。
该字段可以用双引号括起来,也可以不用。如果字段中出现双引号和逗号,换行符必须用双引号括起来。
标题是可选的,与字段列对齐即可。
手动生成csv文件#手动生成csv文件f=open (test.csv , w) body= \ id,name,age,comment1,big,18, this is 2,ls,20, this a tesd f . write(body)from Path lib import Pathp=Path( c:/Users/ASUS/test .CSV ),p.open(r )为f: print(f.read())
Csv模块
Reader (CSV文件,dial= excel ,* * fmtparams),返回一个Reader对象,是一个行迭代器。
使用默认的excel方言,如下所示:
分隔符列分隔符,逗号
行结束符行分隔符\r\n
quotechar字段的引用符号,默认为“”双引号。
处理双引号
双引号的处理默认为真。如果数据中有双引号,并且引号char也是双引号,那么true将由两个双引号表示,False将作为双引号的前缀,默认为none writer=CSV。当writer (f,双引号=false,escapechar= @ )遇到双引号时,必须提供转义符引号来指定双引号的规则。
QUOTE_ALL所有字段QUOTE_MINIMAL特殊字符字段,Excel方言使用此规则QUOTE_NONNUMERIC非数字字段QUOTE_NONE不应用引号。
Writer (CSV文件,dial= excel ,* * fmtparams)返回DictWriter的实例。主要方法有writerow,Writerows # CSV read import CSV from path lib import pathp=path( c:/users/ASUS/test . CSV )with open(str(p))as f:reader=CSV . reader(f)print(next(reader))for line in reader:print(line
#csv写rows=[[4, tom ,22, tom],[5,勤心锁,24,勤心锁]] row=rows [0] with open (str (p), a) as f: writer=csv.writer。
要解释行线,需要一个iterable对象,每个可以迭代的元素都将作为csv行的每个元素。
Windows在每一行的末尾会多一个\r,解决方案是打开的( test.csv, w ,newline= )。
作为一种配置文件,ini文件格式非常流行。
[default]a=test[MySQL]default-character-set=UTF8[mysqld]datadir=/dbserver/data port=33060 character-set-server=UTF8 SQL _ mode=no _ engine _ substitution,strict _ trans _ tables括号内的部分称为section,翻译为section。
在每个部分中有一个由key=value组成的键-值对,这个键称为option option。
Configparser模块用于操作configparser模块的ConfigParser类。
Section可以看作是一个键,它存储了一个由键-值对组成的字典,ini配置文件可以看作是一个嵌套的字典。默认情况下使用有序字典。
importparsercfg=config parser . config parser()read=CFG . read( c:/users/ASUS/temp/MySQL . ini )print(read)print(CFG . sections())#显示所有区域,但默认section print(CFG . options( MySQL ))# Show print(CFG . has _ option( s , 1)) #在已建立的段的选项上取值不现实。如果发现返回,如果没有,就去默认段找print(cfg.get(mysql ,A)) print (cfg.get (mysql , default-character-set )#如果没有section,则返回所有section名称及其对象;如果生成了一个section,它将返回上海I,这个生成的section的键值对的二进制组,print(CFG . items())for I in CFG . items():print(I)print(CFG . items( MySQL )# Remove section和所有选项prints(CFG . Remove _ section( MySQL )。
Read(filenames,encoding=None):读取ini文件,该文件可以是单个文件或文件列表。仅当文件代码sections()返回节列表时,默认节不包括在内。
Add_section(section_name)添加一个节。
Has_section(section_name)确定section中是否有get(section,option,*)。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。