鱼C论坛

 找回密码
 立即注册
查看: 2483|回复: 3

为什么生成的数据保存进CSV文件会每行都有换行?

[复制链接]
发表于 2017-6-13 09:49:36 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
我想写一个数据生成的脚本,然后用下面代码生成的数据保存到CSV文件中为什么每行都会有一个换换行?
还有有其他方法写一个数据生成的脚本么,我感觉这个生成的还是不怎么方便使用,毕竟以后如果字段不一样,要求不一样,这个改起来感觉不是很优
import random
import datetime
import time
import csv

dataCount = 10*10*100
codeRange = range(ord('a'),ord('z'))
alphaRange = [chr(x) for x in codeRange]
alphaMax = len(alphaRange)
daysMax = 42003
theDay = datetime.date(1990,1,1)

def genRandomName(nameLength):
    global alphaRange,alphaMax
    length = random.randint(1,nameLength)
    name = ''
    for i in range(length):
        name += alphaRange[random.randint(0,alphaMax-1)]
    return name

def genRandomDay():
    global daysMax,theDay
    mDays = random.randint(0,daysMax)
    mDate = theDay + datetime.timedelta(days=mDays)
    return mDate.isoformat()

def genRandomSex():
    return random.randint(0,1)

def genDateBase(fileNmae,dataCount):
    outp = file(fileNmae,'w')
    writer = csv.writer(outp)
    i = 0
    while i < dataCount:
        firstName = genRandomName(14)
        lastName = genRandomName(14)
        birthday = genRandomDay()
        sex = genRandomSex()
#       mLine = "%i,%s,%s,%s,%d\n" %(i+1,firstName,lastName,birthday,sex)
        writer.writerow([i+1,firstName,lastName,birthday,sex])
        i += 1
    outp.close()

if __name__ == "__main__":
    random.seed()
    start = time.time()
    genDateBase('db_test.csv',dataCount)
    end = time.time()
    print 'use time:%d'%(end-start)
    print 'ok'
QQ图片20170613094858.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-6-13 10:11:53 | 显示全部楼层
本帖最后由 ooxx7788 于 2017-6-13 14:33 编辑

32行  outp = file(fileNmae,'w')
改成 outp = file(fileNmae,'w', newline='')

不过file对吗?不应该是open吗?


python3 换成open可以直接执行。

楼主代码是python2 ,要改为 outp = file(fileNmae,'wb')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-6-13 13:54:44 | 显示全部楼层
还是报错
QQ图片20170613135353.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-6-13 15:08:25 | 显示全部楼层
41行
writer.writerow([i+1,firstName,lastName,birthday,sex],newline='')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-10-8 18:31

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表