У меня есть текстовый файл с такими значениями:
108,612,620,900
168,960,680,1248
312,264,768,564
516,1332,888,1596
Мне нужно прочитать все это в одну строку фрейма данных.
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0 108 612 620 900 168 960 680 1248 312 264 768 564 516 1332 888 1596
У меня много таких файлов, поэтому я буду добавлять строки в этот фрейм данных.
Я считаю, что нам нужно какое-то регулярное выражение, но я не могу понять это. На данный момент это то, что у меня есть:
df = pd.read_csv(f,sep = ",| ", header = None)
Но для этого в качестве разделителей используются , и (пробел), а я хочу, чтобы в качестве разделителя использовалась новая строка.






Сначала прочитайте данные:
df = pd.read_csv('test/t.txt', header=None)
Это дает вам DataFrame в форме CSV. Затем соедините:
s = pd.concat((df.loc[i] for i in df.index), ignore_index=True)
Это дает вам серию:
0 108
1 612
2 620
3 900
4 168
5 960
6 680
7 1248
8 312
9 264
10 768
11 564
12 516
13 1332
14 888
15 1596
dtype: int64
Наконец, если вам действительно нужен горизонтальный DataFrame:
pd.DataFrame([s])
Дает тебе:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0 108 612 620 900 168 960 680 1248 312 264 768 564 516 1332 888 1596
Поскольку вы упомянули в комментарии, что у вас много таких файлов, вам следует просто сохранить все серии в списке и создать DataFrame со всеми из них сразу, когда вы закончите их загрузку.