为了账号安全,请及时绑定邮箱和手机立即绑定

更新程序以在python中制作CSV文件

更新程序以在python中制作CSV文件

慕标琳琳 2021-05-30 10:23:39
我的代码遇到了一些麻烦,如果有人可以尝试和提供帮助,我会很痛苦。问题是(在python上),是当用户输入要创建的csv文件的名称时。CSV文件仅在程序完成后显示。但是,我想在 csv 中放入一些东西,因为它还没有被创建,我不能。这是我的代码...import csvdef start():   NewCSV = input('Name of csv: ')   with open(NewCSV + '.csv', 'w') as myfile:      wr = csv.writer(myfile, quoting=csv.QUOTE_ALL)      Code_that_writes_in_CSV()def Code_that_writes_in_CSV():   print('') #Cant write this code because the file isn't created until the programme finishesstart()如果有人可以在程序运行时帮助更新代码,我们将不胜感激。:)
查看完整描述

1 回答

?
当年话下

TA贡献1890条经验 获得超9个赞

想要编写的代码需要以wr某种方式访问变量的值。您没有告诉我们该代码真正想要做什么,但作为起点,这里是修改示例的一种方法。


import csv


def start():

    NewCSV = input('Name of csv: ')


    with open(NewCSV + '.csv', 'w') as myfile:

        wr = csv.writer(myfile, quoting=csv.QUOTE_ALL)

        Code_that_writes_in_CSV(wr)


def Code_that_writes_in_CSV(handle):

    handle.writerow([''])

更常见的安排是将所有 CSV 处理保留在单个函数中,并且可能在单独的函数中执行一些计算。


def write_to_csv(filename):

    with open(filename, 'w') as myfile:

        wr = csv.writer(myfile, quoting=csv.QUOTE_ALL)

        for row in code_that_calculates_a_row_at_a_time():    

            wr.writerow(row)

一次计算一行的代码可以是行return的列表,或者一次可以是yield一行。


查看完整回答
反对 回复 2021-06-01
  • 1 回答
  • 0 关注
  • 126 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号