আমার কাছে S3 এ একটি পাঠ্য ফাইল সংরক্ষণ করা আছে যা একটি ট্যাব সীমিত টেবিল। আমি এটিকে পান্ডায় লোড করতে চাই তবে প্রথমে এটি সংরক্ষণ করতে পারি না কারণ আমি হিরকু সার্ভারে চলছে running আমার এখন পর্যন্ত যা আছে তা এখানে।
import io
import boto3
import os
import pandas as pd
os.environ["AWS_ACCESS_KEY_ID"] = "xxxxxxxx"
os.environ["AWS_SECRET_ACCESS_KEY"] = "xxxxxxxx"
s3_client = boto3.client('s3')
response = s3_client.get_object(Bucket="my_bucket",Key="filename.txt")
file = response["Body"]
pd.read_csv(file, header=14, delimiter="\t", low_memory=False)
ত্রুটি হয়
OSError: Expected file path name or file-like object, got <class 'bytes'> type
আমি কীভাবে প্রতিক্রিয়া বডিটিকে একটি ফর্ম্যাট পান্ডে রূপান্তর করব যা গ্রহণ করবে?
pd.read_csv(io.StringIO(file), header=14, delimiter="\t", low_memory=False)
returns
TypeError: initial_value must be str or None, not StreamingBody
pd.read_csv(io.BytesIO(file), header=14, delimiter="\t", low_memory=False)
returns
TypeError: 'StreamingBody' does not support the buffer interface
আপডেট - নিম্নলিখিত কাজ করে
file = response["Body"].read()
এবং
pd.read_csv(io.BytesIO(file), header=14, delimiter="\t", low_memory=False)
io.BytesIO(file)
অথবাio.StringIO(file)
পরিবর্তেfile
মধ্যেread_csv()
কল