【问题标题】:TypeError in_io.BytesIO with Python3TypeError in_io.BytesIO 与 Python3
【发布时间】:2020-06-08 20:35:53
【问题描述】:

我正在尝试读取 io 中的文件,但它返回错误。 它给了我一个我无法解决的TypeError。这是我正在使用的代码:

str_summary = pd.read_sql("SELECT * FROM '" + str(overall_summary) + "'", conn)
s = io.StringIO()
csv.writer(s).writerows(str_summary)
s.seek(0)
buf = io.BytesIO()
buf.write(s.getvalue().encode())
buf.seek(0)
buf.name = f'data1.csv'
with open(buf) as red:
    csvdata=csv.reader(red,delimiter=",")
    tdata=[]
    for row in csvdata:
        rowdata = []
        BLANK=row[0]
        A1 =row[1]
        A2=row[2]
        B3=row[3]
        B4=row[4]
        B5=row[5]
        C6=row[6]
        C7=row[7]
        C8=row[8]

返回这个错误

TypeError: expected str, bytes or os.PathLike object, not _io.BytesIO

【问题讨论】:

  • @Jan.对我来说,这不是我把它带到这里的原因。请帮忙解答。

标签: python stringio


【解决方案1】:

不要使用open,而是使用csvdata=csv.reader(buf, delimiter=",")

【讨论】:

  • 给我这个错误,,, @Ruslan...Traceback(最近一次调用最后):文件“D:\Python\PyQt5\Backup\Result Management System(RMS)\REMARE 2.py ",第 2098 行,在 get_results for row in csvdata: _csv.Error: iterator 应该返回字符串,而不是字节(您是否以文本模式打开文件?)
  • 如果你需要一个文件对象,那么你可以使用buf = io.FileIO(f'data1.csv','r+')
猜你喜欢
  • 2013-11-18
  • 2018-10-09
  • 1970-01-01
  • 1970-01-01
  • 2014-05-03
  • 2015-03-14
  • 2019-03-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多