【问题标题】:How do I use pathlib & csv module to write?如何使用 pathlib & csv 模块编写?
【发布时间】:2020-02-15 00:35:31
【问题描述】:

我使用 csv 模块来创建一个 csv 文件。如果我使用内置打开函数,代码是这样的

import csv
...
csvFileObj = open(file.name, 'w')
csvWriter = csv.writer(csvFileObj)

但如果我使用这样的代码,我不知道如何使用 pathlib 做到这一点

import csv
from pathlib import Path
...
csvFileObj = Path.cwd() / file.name
csvFileObj.open("w", encoding="utf-8")
csvWriter = csv.writer(csvFileObj)

我收到了错误

csvWriter = csv.writer(csvFileObj)
TypeError: argument 1 must have a "write" method

【问题讨论】:

  • csvFileObj.open("w", encoding="utf-8") 返回打开的文件对象; csvFileObj 本身不是文件对象,而是Path() 对象。

标签: python file csv


【解决方案1】:

csvFileObj 是一个 Path 对象。您应该将文件对象传递给csv.writer:

with csvFileObj.open("w", encoding="utf-8") as file:
    csvWriter = csv.writer(file)

【讨论】:

  • 所以 Path 对象有读/写方法但 csv 读/写方法需要一个文件对象!
猜你喜欢
  • 1970-01-01
  • 2016-12-04
  • 2010-11-04
  • 2010-11-04
  • 2018-11-06
  • 1970-01-01
  • 2020-07-18
  • 2020-09-27
  • 2011-08-03
相关资源
最近更新 更多