![](/img/trans.png)
[英]Distinguish between “” and empty value when reading csv file using python
[英]csv file written using python , is empty when opened in linux
我已经将列表中的值复制到csv文件中,例如
有2个清单说
list1 =['a','b','c','d','e','f','g','h','i','j','k','l','m','n']
list2 = ['1','2','3','4','5','6','7','8','9','10','11','12','13']
我使用以下代码将2个列表写入CSV文件
import csv
from itertools import izip
with open('output1.csv', 'wb') as f:
writer = csv.writer(f)
writer.writerows(izip(list1, list2))
当我执行上述操作后在linux中打开output1.csv时,它为空
但是当我打印它时,在python脚本中使用print(open(“ output1.csv”)。read())会正确打印csv文件的内容
你能告诉我为什么我在linux中打开文件时为什么是空的吗
下次遇到困难时,请更详细地说明您期望的错误和输出,这样我们就不必浪费时间假设您的期望输出。 现在, when i open output1.csv in linux after executing the above thing , it is empty
了您的问题when i open output1.csv in linux after executing the above thing , it is empty
我认为您需要阅读有关迭代器以及文件操作的更多信息。 因此,在我的计算机上运行脚本会给我这个错误,这很容易理解。
TypeError: a bytes-like object is required, not 'str'
Python及其错误是如此易读,不是吗? 这个错误是正确的,因为python期望该错误表示一个类似字节的对象! 将其更改为w+
(并在答案中的链接中了解有关权限的更多信息)。 现在,这个writer.writerows(izip(list1, list2))
必须清楚地理解(也在此答案的链接中提供)。 当生活给您一个迭代器时,您只需对其进行迭代! 抓住引用来迭代迭代器,您就很好了。 请详细了解。
import csv
from itertools import izip
list1 = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n']
list2 = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13']
with open('output1.csv', 'w+') as f:
writer = csv.writer(f)
writer.writerows([i for i in izip(list1, list2)]) # your homework to figure out what this means and does.
让我知道此答案是否对您有用!
干杯!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.