Python - 需要类似字节的对象,而不是 'str'

标签 python python-3.x

我这里有一个简单的 Python 代码片段,它将宏 Excel 工作表复制到 csv 中。该片段由于某种奇怪的原因而爆炸。我曾经使用 Python 2.7 运行此代码片段,并且没有任何问题。我最近下载了 Python 3.6。我该如何解决这个问题?

import csv
import xlrd

workbook = xlrd.open_workbook('P:/LFC Lots and Sales-NEW.xlsm')
for sheet in workbook.sheets():
with open('{}.csv'.format(sheet.name), 'wb') as f:
    writer = csv.writer(f)
    writer.writerows(sheet.row_values(row) for row in range(sheet.nrows))
print ("Sheets copied")

回溯:

writer.writerows(sheet.row_values(row) for row in range(sheet.nrows))
TypeError: a bytes-like object is required, not 'str'

最佳答案

明白了!我所需要做的就是将 wb 更改为 w

import csv
import xlrd

workbook = xlrd.open_workbook('P:/LFC Lots and Sales-NEW.xlsm')
for sheet in workbook.sheets():
with open('{}.csv'.format(sheet.name), 'w') as f:
    writer = csv.writer(f)
    writer.writerows(sheet.row_values(row) for row in range(sheet.nrows))
print ("Sheets copied")

关于Python - 需要类似字节的对象,而不是 'str',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42371020/

相关文章:

python - 如何避免python类方法中的无限递归

python - "*"在 Python3 打印函数中的作用是什么?

python - Celery 不使用 Redis 在 Kubernetes 中处理任务

python dataset - 读取一组列并将其放入单独的数据框中?

python - 通过迭代列表追加项目

python - 具有周期性边界条件的二维插值

python - Django 服务器错误 : ImportError: No module named dal

python - 如何从 scrapy 响应中获取 cookie 并将 cookie 设置为下一个请求?

python - 属性错误 : module 'tensorflow' has no attribute 'get_variable'

python-3.x - 当我尝试在 GCP 上导入 NumPy 库时,如何修复出现的 Python 错误 "...failed to map segment from shared object"?