Добавление в новый столбец файла Excel данных из других столбцов
Имеем файл excel. Как добавить новый столбец, потом в этот столбец добавить данные из трех столбцов через запятую, в конце записать все данные в excel
import pandas as pd
# Чтение файла 'city_all_geo.xlsx' - лист 'Лист1' - название и значение всех столбцов.
city_all_geo = pd.read_excel('city_all_geo.xlsx', sheet_name='Лист1', usecols=['Населенный пункт', 'Улица', 'Номер дома', 'Тип строения', 'Этажность', 'Почтовый индекс', 'Широта', 'Долгота', 'Наименование строения'])
# Создаем новый столбик 'Полный адрес' и записываем в него через запятую 'Населенный пункт', 'Улица', 'Номер дома'. Сортируем по алфавиту.
city_all_geo["Полный адрес Широта и Долгота"] = city_all_geo['Населенный пункт']\
.str.cat(city_all_geo['Улица'].astype(str), sep=", ")\
.str.cat(city_all_geo['Номер дома'].astype(str), sep=", ")\
.str.cat(city_all_geo['Широта'].astype(str), sep=", ")\
.str.cat(city_all_geo['Долгота'].astype(str), sep=", ")
data = city_all_geo["Полный адрес Широта и Долгота"].sort_values()
city_all_geo.to_excel("city_all_geo_full_streets's.xlsx")
# или
data.to_excel("city_all_geo_full_streets's.xlsx")
У меня записывается либо первоначальный файл, либо изменения.
Ответы (2 шт):
Автор решения: grum231
→ Ссылка
import pandas as pd
df = pd.read_excel("/mnt/c/users/us/downloads/Без имени 1.xlsx")
df["Lat, Lon, Address"] = df.apply(lambda x: ",".join(x.astype(str)), axis=1)
df.head()
Lat Lon Address Lat, Lon, Address
0 54.1342 34.16743 a 54.1342,34.16743,a
1 54.1523 34.17684 b 54.1523,34.17684,b
2 54.1704 34.18625 c 54.1704,34.18625,c
3 54.1885 34.19566 d 54.1885,34.19566,d
4 54.2066 34.20507 e 54.2066,34.20507,e
df.to_excel("/mnt/c/users/us/downloads/Без имени 1.xlsx", columns=df.columns, index=False)
Автор решения: Nevskiy
→ Ссылка
Ответ был прост:
import pandas as pd
# Чтение файла 'city_all_geo.xlsx' - лист 'Лист1' - название и значение всех столбцов.
city_all_geo = pd.read_excel('city_all_geo.xlsx', sheet_name='Лист1', usecols=['Населенный пункт', 'Улица', 'Номер дома', 'Тип строения', 'Этажность', 'Почтовый индекс', 'Широта', 'Долгота', 'Наименование строения'])
# Создаем новый столбик 'Полный адрес' и записываем в него через запятую 'Населенный пункт', 'Улица', 'Номер дома'. Сортируем по алфавиту.
city_all_geo["Полный адрес Широта и Долгота"] = city_all_geo['Населенный пункт']\
.str.cat(city_all_geo['Улица'].astype(str), sep=", ")\
.str.cat(city_all_geo['Номер дома'].astype(str), sep=", ")\
.str.cat(city_all_geo['Широта'].astype(str), sep=", ")\
.str.cat(city_all_geo['Долгота'].astype(str), sep=", ")
city_all_geo.sort_values(['Полный адрес Широта и Долгота'], axis=0, ascending=True, inplace=True)
city_all_geo.to_excel("city_all_geo_full_streets's.xlsx")