当前位置: 首页 > news >正文

中国工程建设监理网站wordpress主题合并

中国工程建设监理网站,wordpress主题合并,公众号编辑器哪个好,生产类营销型网站csv文件完整操作总结 1.概述 csv 模块主要用于处理从电子数据表格Excel或数据库中导入到文本文件的数据#xff0c;通常简称为 comma-separated value #xff08;CSV#xff09;格式因为逗号用于分离每条记录的各个字段。 2.读写操作 2.1.测试数据 创建一个test.csv文…csv文件完整操作总结 1.概述 csv 模块主要用于处理从电子数据表格Excel或数据库中导入到文本文件的数据通常简称为 comma-separated value CSV格式因为逗号用于分离每条记录的各个字段。 2.读写操作 2.1.测试数据 创建一个test.csv文件复制下面内容到文件中 Title 1,Title 2,Title 3,Title 4 1,a,08/18/07,å 2,b,08/19/07,∫ 3,c,08/20/07,ç2.2.读取 从 CSV 文件中读取数据可以使用 reader() 函数来创建一个读取对象。 这个读取对象顺序处理文件的每一行可以把它当成迭代器使用 例如 import csvwith open(test.csv, rt) as f:reader csv.reader(f)for row in reader:print(row)reader() 的第一个参数指源文本在这个例子中是一个文件但它可以是任何可迭代对象 StringIO 实例list 等。第二个参数是可选的可用于控制输入的数据如何被解析。 [Title 1, Title 2, Title 3, Title 4] [1, a, 08/18/07, å] [2, b, 08/19/07, ∫] [3, c, 08/20/07, ç]2.3.写入 写入 CSV 文件和读取它们一样简单。使用 writer() 方法创建一个写入对象然后使用 writerow() 去输出每一行。 import csvunicode_chars å∫çwith open(testout.csv, wt) as f:writer csv.writer(f)writer.writerow((Title 1, Title 2, Title 3, Title 4))for i in range(3):row (i 1,chr(ord(a) i),08/{:02d}/07.format(i 1),unicode_chars[i],)writer.writerow(row)print(open(testout.csv, rt).read())这个例子的输出和上面读取的例子看起来有些不同是因为这里有的值没有加引号 Title 1,Title 2,Title 3,Title 4 1,a,08/01/07,å 2,b,08/02/07,∫ 3,c,08/03/07,ç 2.4.引号 写入时默认的引用行为不同所以之前示例中的第二和第三个字段未被引用。 要添加引号请将 quoting 参数设置为其他引用模式。 writer csv.writer(f, quotingcsv.QUOTE_NONNUMERIC)在这个例子中 QUOTE_NONNUMERIC 会给所有字段值不是数字的值添加引号 Title 1,Title 2,Title 3,Title 4 1,a,08/01/07,å 2,b,08/02/07,∫ 3,c,08/03/07,ç有四种不同的引用选项在 csv 模块中被定义为常量。 QUOTE_ALL 无论什么类型的字段都会被引用。QUOTE_MINIMAL这是默认的选项使用指定的字符引用各字段如果解析器被配置为相同的 dialect 和选项时可能会让解析器在解析时产生混淆。QUOTE_NONNUMERIC引用那些不是整数或浮点数的字段。当使用读取对象时如果输入的字段是没有引号的那么它们会被转换成浮点数。QUOTE_NONE对所有的输出内容都不加引用当使用读取对象时引用字符看作是包含在每个字段的值里但在正常情况下它们被当成定界符而被去掉。 3.编码风格 其实没有一个标准定义这类逗号分隔值的文件所以解析器需要很灵活通过很多参数去控制如何解析 csv 或给其写入数据。但这并不是每个参数在写入或读取 csv 时分别传入而是统一分组为一个 编码风格 对象。 3.1.查看编码风格 Dialect 类可以通过名字注册因此 csv 模块调用它时不必预先知道相关的参数设置。所有注册过的编码风格列表可以通过 list_dialects() 方法查看。 import csvprint(csv.list_dialects())标准库提供了三种编码风格分别为 excel excel-tabs 和 unix。 excel 编码风格用来处理默认来自 Microsoft Excel 格式的数据的同样可用于处理来自 LibreOffice 格式的。 unix 编码风格将所有字段通过双引号引用并用 \n 做为每条记录的分隔符。 [excel, excel-tab, unix]3.2.创建一个编码风格 如果不使用逗号分隔字段输入文件使用竖杠 | 新建一个testdata.pipes文件复制下面内容到文件中作为测试数据。 Title 1|Title 2|Title 3 1|first line second line|08/18/07使用「竖杠」的编码风格可以像使用逗号一样读取文件 import csvcsv.register_dialect(pipes, delimiter|)with open(testdata.pipes, rt) as f:reader csv.reader(f, dialectpipes)for row in reader:print(row)运行结果 [Title 1, Title 2, Title 3] [1, first line\nsecond line, 08/18/07]3.3.编码风格参数 编码风格指定解析或写入数据文件时使用的所有标记。下表列出了可以设定的属性从字段的分隔方式到用于转义标记的字符。 属性默认含义delimiter,字段分隔符单字符doublequoteTrue控制 quotechar 实例是否翻倍escapecharNone用于表示转义序列的字符lineterminator\r\n写入时用来换行的字符quotechar引用含特殊值字段的字符一个字符quotingQUOTE_MINIMAL控制前面表述的引用行为skipinitialspaceFalse是否在字段分隔符后忽略空格 这段程序演示了当使用几种不同的编码风格格式化时相同的数据如何展示。 import csv import syscsv.register_dialect(escaped,escapechar\\,doublequoteFalse,quotingcsv.QUOTE_NONE,) csv.register_dialect(singlequote,quotechar,quotingcsv.QUOTE_ALL,)quoting_modes {getattr(csv, n): nfor n in dir(csv)if n.startswith(QUOTE_) }TEMPLATE \ Dialect: {name}delimiter {dl!r:6} skipinitialspace {si!r}doublequote {dq!r:6} quoting {qu}quotechar {qc!r:6} lineterminator {lt!r}escapechar {ec!r:6} for name in sorted(csv.list_dialects()):dialect csv.get_dialect(name)print(TEMPLATE.format(namename,dldialect.delimiter,sidialect.skipinitialspace,dqdialect.doublequote,ququoting_modes[dialect.quoting],qcdialect.quotechar,ltdialect.lineterminator,ecdialect.escapechar,))writer csv.writer(sys.stdout, dialectdialect)writer.writerow((col1, 1, 10/01/2010,Special chars: \ {} to parse.format(dialect.delimiter)))print()运行结果 Dialect: escapeddelimiter , skipinitialspace 0doublequote 0 quoting QUOTE_NONEquotechar lineterminator \r\nescapechar \\col1,1,10/01/2010,Special chars: \ \, to parseDialect: exceldelimiter , skipinitialspace 0doublequote 1 quoting QUOTE_MINIMALquotechar lineterminator \r\nescapechar Nonecol1,1,10/01/2010,Special chars: , to parseDialect: excel-tabdelimiter \t skipinitialspace 0doublequote 1 quoting QUOTE_MINIMALquotechar lineterminator \r\nescapechar Nonecol1 1 10/01/2010 Special chars: to parseDialect: singlequotedelimiter , skipinitialspace 0doublequote 1 quoting QUOTE_ALLquotechar lineterminator \r\nescapechar Nonecol1,1,10/01/2010,Special chars: , to parseDialect: unixdelimiter , skipinitialspace 0doublequote 1 quoting QUOTE_ALLquotechar lineterminator \nescapechar Nonecol1,1,10/01/2010,Special chars: , to parse3.4.自动检测编码风格 配置一个输入文件的编码风格的最好的办法是提前知道哪种编码风格是正确的。对于那些编码风格未知的参数 Sniffer 类可用于做有效的猜测。 sniff() 方法会获取输入数据的一个样本和一个可选参数给出可能的分隔符。 import csv from io import StringIO import textwrapcsv.register_dialect(escaped,escapechar\\,doublequoteFalse,quotingcsv.QUOTE_NONE) csv.register_dialect(singlequote,quotechar,quotingcsv.QUOTE_ALL)# 为所有已知的编码风格生成样本数据 samples [] for name in sorted(csv.list_dialects()):buffer StringIO()dialect csv.get_dialect(name)writer csv.writer(buffer, dialectdialect)writer.writerow((col1, 1, 10/01/2010,Special chars \ {} to parse.format(dialect.delimiter)))samples.append((name, dialect, buffer.getvalue()))# 猜测样本的编码风格然后用猜测结果来解析数据。 sniffer csv.Sniffer() for name, expected, sample in samples:print(Dialect: {}.format(name))print(In: {}.format(sample.rstrip()))dialect sniffer.sniff(sample, delimiters,\t)reader csv.reader(StringIO(sample), dialectdialect)print(Parsed:\n {}\n.format(\n .join(repr(r) for r in next(reader))))sniff() 方法返回一个包含了解析数据的参数的 Dialect 实例。结果并不一定是正确的例如这个例子中的「escaped」。 python3 csv_dialect_sniffer.pyDialect: escaped In: col1,1,10/01/2010,Special chars \ \, to parse Parsed:col1110/01/2010Special chars \\ \ \\ to parseDialect: excel In: col1,1,10/01/2010,Special chars , to parse Parsed:col1110/01/2010Special chars \ , to parseDialect: excel-tab In: col1 1 10/01/2010 Special chars to parse Parsed:col1110/01/2010Special chars \ \t to parseDialect: singlequote In: col1,1,10/01/2010,Special chars , to parse Parsed:col1110/01/2010Special chars \ , to parseDialect: unix In: col1,1,10/01/2010,Special chars , to parse Parsed:col1110/01/2010Special chars \ , to parse
http://www.ho-use.cn/article/10823803.html

相关文章:

  • 微网站的制作过程重庆找工作哪个网站好
  • 京东电子商务网站建设目的贵阳做网站需要多少钱
  • 网站建设先学什么厦门建设银行官方网站
  • 什么时候能用ipv6做网站模具 东莞网站建设
  • 毕业设计 网站建设选题厦门 网站建设 公司
  • 做学徒哪个网站好企业oa网站建设方案
  • 深圳手机网站建设报价微信公众开放平台
  • 沈阳建网站的公司赞助网站怎么做
  • 家具网站建设的前景分析网络品牌推广ppt
  • 网站建设 睿达科滁州做网站
  • 网站开发组合 lamp长春模板网站建站
  • 网站服务器 同步备份广告宣传网站
  • qq官方网站登录城乡与建设厅网站
  • 大理住房和城乡建设部网站软件免费网站大全
  • 评论回复网站怎么做的徐州建网站
  • 织梦保险网站源码推广做网站莱芜
  • 长岛网站建设省工程建设信息网
  • 网站流量被黑延吉网站开发公司
  • 适合新手模仿的网站网站注册模板
  • 需要网站建设公司企业展厅设计公司
  • 个人做民宿需要建立网站吗优秀网页设计案例赏析之淘宝
  • 品质培训网站建设网页版游戏在线玩2022
  • 响应式网站价格wordpress多主题插件
  • 台州做网站app的公司网站内页不收录
  • 学做电商的网站江西网站建设网络公司
  • 河北网站建设seo优化wordpress一键变灰色
  • 中安消防安全网站建设阿里云备案 网站服务内容
  • 单色系网站设计有哪些大连建设网水电煤气费查询网
  • 网站开发多长时间wordpress卢松松模板
  • 如何给网站添加统计代码北京优秀网站建设