Начиная с v0.23, pandas не поддерживает многосимвольные ограничители строки.Ваш код в настоящее время возвращает:
s = "this\x01is\x01test\x02\nthis\x01is\x01test2\x02"
df = pd.read_csv(
pd.compat.StringIO(s), sep="\x01", lineterminator="\x02", header=None)
df
0 1 2
0 this is test
1 \nthis is test2
Ваша единственная возможность (на данный момент) - удалить начальные пробелы из первого столбца.Вы можете сделать это с помощью str.lstrip
.
df.iloc[:, 0] = df.iloc[:, 0].str.lstrip()
# Alternatively,
# df.iloc[:, 0] = [s.lstrip() for s in df.iloc[:, 0]]
df
0 1 2
0 this is test
1 this is test2
Если вам нужно обрабатывать несколько других типов разделителей строки (кроме только новой строки), вы можете передать их строку:
line_terminators = ['\n', ...]
df.iloc[:, 0] = df.iloc[:, 0].str.lstrip(''.join(line_terminators))