Простая вставка копий не дает четкого разделителя столбцов, поэтому это невозможно сделать легко.
У вас есть только пробелы, но пробелы могут быть или не быть внутри значений столбца (как в имени илистрана), поэтому невозможно присвоить DataFrame.read_csv
разделитель столбцов.
Однако, если я скопирую таблицу в файл, я увижу регулярность.
Если вы знаете регулярное выражение, вы можете попробовать использовать pandas.Series.str.extract .Этот метод извлекает группы захвата в шаблоне регулярных выражений в виде столбцов DataFrame.Регулярное выражение применяется к каждому элементу / строке серии.
Затем можно попытаться найти шаблон регулярного выражения для захвата различных элементов строки, чтобы разделить их на отдельные столбцы.
df = pd.read_csv('data.txt', names=["A"]) #no header in the file
ss = df['A']
rdf = ss.str.extract('(\d)\s+(.+)(\$[\d\.]+B)\s+([+-]\$[\d\.]+[BM])\s+([+-]\$[\d\.]+B)\s+([\w\s]+)\s+([\w\s]+)')
Здесь я попытался написать регулярное выражение для таблицы в ссылке, результат по первой кажется довольно хорошим.
0 1 2 3 4 5 6
0 1 Jeff Bezos $121B +$231M -$3.94B United States Technology
1 3 Bernard Arnault $104B +$127M +$35.7B France Consumer
2 4 Warren Buffett $84.9B +$66.3M +$1.11B United States Diversified
3 5 Mark Zuckerberg $76.7B -$301M +$24.6B United States Technology
4 6 Amancio Ortega $66.5B +$303M +$7.85B Spain Retail
5 7 Larry Ellison $62.3B +$358M +$13.0B United States Technology
6 8 Carlos Slim $57.0B -$331M +$2.20B Mexico Diversified
7 9 Francoise Bettencourt Meyers $56.7B -$1.12B +$10.5B France Consumer
8 0 Larry Page $55.7B +$393M +$4.47B United States Technology
Я использовал DataFrame.read_csv
для чтения файла, поскольку `Series.from_csv 'устарела.