我正在尝试从与Python脚本不在同一目录中的目录中读取CSV文件。
此外,CSV文件存储在具有完全相同名称的ZIP文件夹中(唯一的区别是一个以.zip结尾,另一个是.csv)。
目前我正在使用Python的std::map
和zipfile
库来打开并从文件中获取数据,但是我收到错误:
csv
我的代码:
Traceback (most recent call last): File "write_pricing_data.py", line 13, in <module>
for row in reader:
_csv.Error: iterator should return strings, not bytes (did you open the file in text mode?)
如何解决此错误?
答案 0 :(得分:1)
这有点像kludge,我确信有一种更好的方法(这恰好在我现在就没有了)。如果您没有嵌入新行,则可以使用:
import zipfile, csv
zf = zipfile.ZipFile('testing.csv.zip')
with zf.open('testing.csv', 'r') as fin:
# Create a generator of decoded lines for input to csv.reader
# (the csv module is only really happy with ASCII input anyway...)
lines = (line.decode('ascii') for line in fin)
for row in csv.reader(lines):
print(row)