Python新手在这里.我试图解决在更大的程序中编写csv文件的问题,并决定回到基础以尝试找到问题.
我从Python csv读取和编写文档中运行了一个确切的代码示例:
import csv
spamWriter = csv.writer(open('eggs.csv', 'w'), delimiter=' ', quotechar='|')
spamWriter.writerow(['Spam'] * 5 + ['Baked Beans'])
spamWriter.writerow(['Spam', 'Lovely Spam', 'Wonderful Spam'])
Run Code Online (Sandbox Code Playgroud)
当我进入我的工作目录并点击"eggs.csv"时,文件为空则报告为"0 kb".同样的事情发生在我的大型程序(空csv文件)中.我错过了一些完全明显的东西吗
谢谢!
编辑:
我刚刚尝试修改代码:
import csv
csvOut=open("eggs.csv", "wb")
spamWriter = csv.writer(csvOut, delimiter=' ', quotechar='|')
spamWriter.writerow(['Spam'] * 5 + ['Baked Beans'])
spamWriter.writerow(['Spam', 'Lovely Spam', 'Wonderful Spam'])
csvOut.close()
Run Code Online (Sandbox Code Playgroud)
这很有效.我不确定为什么第一个对我不起作用.
ins*_*get 11
我对csv模块不太熟悉,但这确实看起来像文件IO问题而不是csv问题.
你在文件中看不到任何内容的原因是python仍然打开了文件.你需要关闭它.
所以不要这样做:
spamWriter = csv.writer(open('eggs.csv', 'w'), delimiter=' ', quotechar='|')
Run Code Online (Sandbox Code Playgroud)
改为:
f = open('eggs.csv', 'w')
spamWriter = csv.writer(f, delimiter=' ', quotechar='|')
# the rest of your code
f.close()
Run Code Online (Sandbox Code Playgroud)
现在你应该在eggs.csv中看到你想要的东西
希望这可以帮助
| 归档时间: |
|
| 查看次数: |
10401 次 |
| 最近记录: |