#python #pandas #bytesio
#python #pandas #bytesio
Вопрос:
У меня есть байты (которые я назвал content ниже), содержащие объекты, и я пытаюсь преобразовать каждый объект в фрейм данных и объединить эти фреймы данных в один фрейм данных с помощью python.
print(content)
output:
<Object url='https://...254383879.csv' etag='"fhksjdhfksjhfkwhefuhewuwiefuh"'>
<Object url='https://....603587330.csv' etag='"d317035287238579384759387452"'>
Я попробовал следующий код, но он продолжает работать без какого-либо вывода:
from io import BytesIO
import pandas as pd
df = []
for obj in content:
obj = pd.read_csv(BytesIO(content))
df = pd.concat(df)
Я также пытался использовать этот код:
from io import BytesIO
import pandas as pd
df = pd.read_csv(BytesIO(content))
print(df[0:5])
Но этот второй код преобразует только последний объект содержимого в фрейм данных, а не все из них. Кто-нибудь знает, как приступить к преобразованию и объединению всех объектов в один фрейм данных? Спасибо!
Комментарии:
1. похоже, вы создали настоящую логическую бомбу!
for obj in content: obj = pd.read_csv(BytesIO(content))
не имеет смысла. перебираем строки вcontent
и присваиваем обратноobj
. Плюсdf = pd.concat(df)
, где df был инициализирован в пустой массив. Является ли это общедоступным URL-адресом, который выrequests.get()
предоставляете URL и показываете, как обрабатывать2. Привет, Роб, спасибо за ответ! к сожалению, URL-адрес не является общедоступным: ( было бы чрезвычайно полезно, если бы вы могли опубликовать какой-то черновик кода или предложить какую-то логику, которую я мог бы использовать для решения этой проблемы. Большое спасибо за вашу помощь!