假设现在有一张便条:
- mya:
- 祝你今天愉快,你明天的愉快留着我明天再祝。
- 肆拾伍 4.20
将上面的转换成三种格式:
csv:
“ mya:”,“祝你今天愉快,你明天的愉快留着我明天再祝。”,“肆拾伍” ,“4.20”
xml:
<?xml version="1.0" encoding="UTF-8"?>
<note>
<to>mya</to>
\<content>祝你今天愉快,你明天的愉快留着我明天再祝。/content>
<from>肆拾伍</from>
<date>4.20</date>
</note>
json:
{
to:"mya",content:"祝你今天愉快,你明天的愉快留着我明天再祝。",from:"肆拾伍",date:"4.20"}
CSV(Comma Separated Values)是用逗号分隔数据项(也称为字段)的数据交换格式,CSV主要应用于电子表格和数据库之间的数据交换。
Python提供csv模块实现读写CSV文件。
模块函数
csv.reader(csvfile, dialect=‘excel’, **fmtparams)
csv.writer(csvfile, dialect=‘excel’, **fmtparams)
- dialect参数是方言,方言提供了一组预定好的格式化参数;fmtparams参数可以提供单个格式化参数。
- 方言dialect实际参数是csv.Dialect的子类,csv.Dialect的子类主要有:
csv.excel类定义Excel生成的CSV文件的常用属性。它用方言名称是’excel’。 - csv.excel_tab类定义了Excel生成的Tab(水平制表符)分隔文件的常用属性。它用方言名称是’excel-tab’。
- csv.unix_dialect类定义在UNIX系统上生成的CSV文件的常用属性,即使用’\n’作为行终止符,而Windows下使用’\r\n’作为行终止符。它用方言名称是’unix’。
假设现在有一个csv文本如下:
1,软件工程,戴国强,机械工业出版社,19980528,2
2,汇编语言,李利光,北京大学出版社,19980318,2
3,计算机基础,王飞,经济科学出版社,19980218,1
4,FLASH精选,刘扬,中国纺织出版社,19990312,2
5,java基础,王一,电子工业出版社,19990528,3
6,世界杯,柳飞,世界出版社,19990412,2
7,JAVA程序设计,张余,人民邮电出版社,19990613,1
8,新概念3,余智,外语出版社,19990723,2
import csv
with open('test.csv','r',encoding= 'utf-8') as f:
content = csv.reader(f, dialect="excel")
content = list(content) # 也可以不转成list,但是那种可迭代对象只能访问一次
for row in content:
print(row) # 输出为列表
for row in content: # 如果不是list 这里的输出为空
print("|".join(row)) # 输出为字符串
with open('test2.csv','w+',encoding = 'utf-8',newline = '') as ff: # 注意添加 newline = '',表示写的时候不用加回车换行

最低0.47元/天 解锁文章
147

被折叠的 条评论
为什么被折叠?



