python中的csv cli实用程序函数和包。
csvputt的Python项目详细描述
带有csv文件的命令fu
一组命令行接口和python模块 快速操作、转换和处理csv文件 有效
cli用法
所有csvputty命令都以csvputty开头,可选任意 要使用的输入/输出文件,然后是要使用的命令 表演
如果不提供I/O文件,则csvputty将使用stdin/stdout 相反。
示例:
$ csvputty -i data.csv -o out.txt
加价
此命令将获取csv文件的选定列,处理每个列 遍历格式字符串,并返回集合输出。为了 示例:
$ csvputty -i data.csv -o rendered.html markup 0 1 3 template.html
这将使用 template.html作为格式字符串并保存到rendered.html。
在上面的示例中,template.html可以是以下内容:
<divclass="row"><divclass="col-sm-4">{}</div><divclass="col-sm-4">{}</div><divclass="col-sm-4">{}</div></div>
或
<divclass="row"><divclass="col-sm-4">{coconuts}</div><divclass="col-sm-4">{cheese}</div><divclass="col-sm-4">{sausages}</div></div>
如果与-h--header标志一起使用,则使用csv的第一行 为模板设置关键帧。
然而,在 命令行。举个例子:
$ cat data1.csv data2.csv | csvputty -o rendered.html markup 0 1 template.html
这将通过同一模板传递data1.csv和data2.csv。 并将它们一起呈现在一个文件中。
csvputty -i data.csv markup 0 1 -
这将打开stdin,允许您通过命令行输入模板并 将结果打印到stdout。
差异
Diff将输入CSV与另一个CSV进行比较,并输出其中的行 所选列满足匹配条件
$ cat subtract1.csv subtract2.csv | csvputty -i source.csv -o out.csv diff -sc 18 -
上面的示例返回来自source.csv的行,其中第18列是 在subtract1.csv或 subtract2.csv。
包装使用
将csvputty导入到项目中可以使用一些功能 无法通过命令行界面使用。
例如:
importcsvputtydefparse_row(row,row_index):foridx,colinenumerate(row):row[idx]=col.strip().replace("&","&")img_url=row[2].lower().replace(" ","_").replace('&','and')insta_url=row[4].replace("@","")return(img_url,row[1],insta_url,row[3],row[6])input=open('data.csv','r')out=open('rendered.html','w')template=open('template.html','r')csvputty.markup.generate(custom_row_parser=parse_row,csv_file=inputtemplate_file=template,out_file=out)
上面的例子允许我去掉空白并替换与号 在所有列上使用HTML实体,并在 其他栏目。