日期写入csv文件错误

时间:2018-02-16 07:40:58

标签: python python-3.x

我想使用pythom 3.3在csv文件(excel)中写日期这里是我的代码

date=["16.02.2018", "blah"]
CSVreport = open('indata.csv', 'wb')
wr = csv.writer(CSVreport)
with open('indata.csv', 'w+') as ou_f:
    ou_f.write([str(date,'UTF-8')])
with open('indata.csv', 'r') as in_f:
    ou_f_content = in_f.read().decode('UFT-8')
#wr.writerow (bytes(date,'UTF-8'))
CSVreport.close()

它给了我标题中的错误我不知道什么是错的,所以如果你能帮助我会感激不尽

2 个答案:

答案 0 :(得分:1)

您至少有四个问题,其中三个问题在ou_f.write([str(date,'UTF-8')])上。

  • 首先,date是一个列表,您无法将列表转换为str()的字符串。
  • 其次,您将列表传递给ou_f.write(),但它需要一个字符串。
  • 第三,您以二进制模式打开了CSV文件。
  • 第四,您创建了一个CSV编写器,但从未使用它。使用CSV编写器解决了前两个问题:

-

with open('indata.csv', 'w') as CSVreport:
    wr = csv.writer(CSVreport)
    wr.writerow(date)

答案 1 :(得分:-2)

你写作线上的错误信息

还要检查struct模块的打包和解包二进制数据,这就是utf8编码所做的事情。你可以查看你实际传递给write()函数的内容,我认为你的脚本本身必须是utf8编码的

' W'打开ascii pack / unpack,' wb'在传递数据时写入数据。 ' W'几乎是python在ascii内部打包的快捷方式。如果您正在撰写utf-8数据,您应该研究是否' w'可以正确处理。如果你甚至需要使用utf-8,那就有问题了。 ascii涵盖256个字符,其中包括美国日期/时间表示法。另外,为什么不关闭文件?