Обычно эта ошибка возникает, когда мы отправляем заголовок после эха или печати. Если эта ошибка возникает на определенной странице, убедитесь, что страница не выполняет эхо-сигналы перед вызовом start_session()
.
Пример непредсказуемой ошибки:
<?php //a white-space before <?php also send for output and arise error
session_start();
session_regenerate_id();
//your page content
Еще один пример:
<?php
includes 'functions.php';
?> <!-- This new line will also arise error -->
<?php
session_start();
session_regenerate_id();
//your page content
Вывод: не выводить символ перед тем, как вызывать функции session_start()
или header()
, даже не с помощью пробела или новой строки
Это вариант панды в ответе Рафаэля.
Панды read_csv
могут читать одну строку из файла, благодаря параметрам skiprows и nrows. Сложная часть заключается в том, как найти случайный номер строки ...
Итак, простой способ - прочитать все строки из входного файла, выбрать случайную строку и вставить эту строку в кадр данных:
import pandas as pd
import random
import io
with open("someurl.dat") as fd:
line = random.choice(fd.readlines)
df = pd.read_csv(io.StringIO(line), sep='\s+', header=None)
Кстати, ваш код не может дать вам ожидаемый кадр данных. С
market_basket = pd.read_csv(data_url, header=None, delimiter='\n+', engine="python")
sample = market_basket.sample(n=1)
market_basket
- это DataFrame с одним столбцом, содержащим полные строки, проиндексированные по номеру их строки в файле. Итак, sample
- это 40911-я строка, содержащая 39 2787 2858 5016 5041 13569
. Чтобы разобрать его, вам все равно нужно сначала извлечь текущее поле (.iloc[0][0]
) и разделить его:
sample = pd.read_csv(io.StringIO(sample.iloc[0][0]), sep='\s+', header=None)