Создание столбцов в Excel таблице
Парсю информацию с сайта. Спарсил, допустим, 5 названий. Нужно создать 5 столбцов в Excel и записать название в каждый из столбцов.
Как это реализловать?
Допустим, 5 городов:
lst = ['Москва', 'Питер', 'Уфа', 'Смоленск', 'Омск']
И 5 столбцов: город 1, город 2 и т.д., таблица будет выглядеть так:
Ответы (2 шт):
Пример:
import pandas as pd # pip install pandas
data = {
"город 1": ["Москва", "100"],
"город 2": ["Питер", "110"],
"город 3": ["Уфа", "120"],
"город 4": ["Смоленск", "130"],
"город 5": ["Омск", "140"],
}
df = pd.DataFrame(data)
df.to_excel(r"c:\temp\result.xlsx", index=False)
NOTE: в SO вопросах, связанных с обработкой данных, ключевую роль играют примеры входных и выходных данных и структуры, в которых эти данные хранятся!
Посудите сами - если задающий вопрос не указывает как именно он(а) хранит данные то и дать рабочий и проверенный ответ на это практически невозможно. Ведь данные могут быть в виде необработанного текста, Excel / PDF / Word / JSON / etc. файла, в виде списка кортежей/списков, в виде словаря со списками, в виде списка словарей и т.д. Вариаций может быть очень много. Невозможно дать универсальный и проверенный ответ. На неточный и "размытый" вопрос можно получить только неточный и "размытый" ответ.
Пример для данных из одной строки:
lst = ['Москва', 'Питер', 'Уфа', 'Смоленск', 'Омск']
df = pd.DataFrame([lst], columns=[f"город {i+1}" for i in range(len(lst))])
df.to_excel(r"c:\temp\result.xlsx", index=False)
Пример для данных, состоящих из двух и более строк, данные задаются в виде списка кортежей/списков, где каждый элемент списка задает одну строку фрейма:
data = [
('Москва', 'Питер', 'Уфа', 'Смоленск', 'Омск'),
(10, 11, 9, 8, 20)
]
df = pd.DataFrame(data, columns=[f"город {i+1}" for i in range(len(lst))])
результат:
In [56]: df
Out[56]:
город 1 город 2 город 3 город 4 город 5
0 Москва Питер Уфа Смоленск Омск
1 10 11 9 8 20

