【问题标题】:csv file written using python , is empty when opened in linux使用python编写的csv文件,在linux中打开时为空
【发布时间】:2018-01-11 09:45:22
【问题描述】:

我已将列表中的值复制到 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中打开文件是空的

【问题讨论】:

  • 为什么b标志在文件打开模式?为什么是字节?
  • 即使我删除 b 意味着如果它在下面的脚本中使用 open('output1.csv', 'w') as f: 进行修改,那么也不起作用
  • 代码缩进是否正确?还是你在这个问题上弄错了?
  • 是正确的,问题是这样的,实际上我可以通过 open("output1.csv").read() 读取输出,但是在 linux 中打开时文件为空vi output1.csv
  • open("output1.csv")符合打开文件的条件。如果您无法使用 vi 打开它,可能是您的 vi 安装已损坏或者您没有正确使用它。

标签: python python-3.x python-2.7 csv


【解决方案1】:

下次遇到困难时,请更具体地说明您期望的错误和输出,这样我们就不必浪费时间假设您的预期输出。现在来解决您的问题when i open output1.csv in linux after executing the above thing , it is empty 我认为您需要阅读更多关于iteratorsfile operations 的信息。所以在我的机器上运行你的脚本给了我这个很容易理解的错误。

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.

接受这个答案,让我知道这个答案是否对你有用!

干杯!

【讨论】:

  • 不,csv文件又是空的,上面的解决方案有助于解决问题
  • 你实际尝试了什么?有什么错误吗?帮我帮你做回溯怎么样?
  • 没有错误,我可以通过 readlines 看到文件的输出,但是当我通过 vi 编辑器打开时文件是空的
猜你喜欢
  • 1970-01-01
  • 2016-12-09
  • 2019-09-07
  • 1970-01-01
  • 2023-04-09
  • 1970-01-01
  • 2013-12-05
  • 2017-12-15
相关资源
最近更新 更多