Python读写csv文件

1. 写入并生成csv文件

代码:

# coding: utf-8

import csv
csvfile = file('csv_test.csv', 'wb')
writer = csv.writer(csvfile)
writer.writerow(['姓名', '年龄', '电话'])
data = [
    ('小河', '25', '1234567'),
    ('小芳', '18', '789456')
]
writer.writerows(data)
csvfile.close()
  • wb中的w表示写入模式,b是文件模式
  • 写入一行用writerow
  • 多行用writerows

2. 读取csv文件

代码:

# coding: utf-8

import csv

csvfile = file('csv_test.csv', 'rb')
reader = csv.reader(csvfile)

for line in reader:
    print line

csvfile.close() 

 

运行结果:

root@he-desktop:~/python/example# python read_csv.py 
['\xe5\xa7\x93\xe5\x90\x8d', '\xe5\xb9\xb4\xe9\xbe\x84', '\xe7\x94\xb5\xe8\xaf\x9d']
['\xe5\xb0\x8f\xe6\xb2\xb3', '25', '1234567']
['\xe5\xb0\x8f\xe8\x8a\xb3', '18', '789456']

 

3、中文乱码问题解决方法:

import codecs

with open('result.csv', 'w') as f:
            f.write(codecs.BOM_UTF8)
            writer = csv.writer(f)
            writer.writerow(['用户邮箱地址{EAddr}','用户真实姓名{UserName}','用户昵称{NickName}',
                             '用户称呼(先生,女士){Gender}','用户生日{Birthday}','用户电话{Mobile}'])

增加 import codecs和f.write(codecs.BOM_UTF8)两行

 

4、读取excel文件出错

_csv.Error: new-line character seen in unquoted field - do you need to open the file in universal-newline mode?

解决办法:

reader = csv.reader(open("data.csv", 'rU'), dialect='excel')

参考:https://www.cnblogs.com/youxin/p/3153947.html

python读写excel参考:http://www.cnblogs.com/linyfeng/p/7123423.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值