Python 数据交换格式 csv,xml,json

假设现在有一张便条:

  • 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 = '',表示写的时候不用加回车换行 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

肆拾伍

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值