Панды - преобразовать данные в список

У меня есть файл .xlsx с цифрами в один столбец. Я хочу, чтобы он преобразовался в список в python. Проблема в том, что когда я запускаю код, вывод:

[[123], [234], [345], ...]

но хочу, чтобы это было

["123", "234", "345", ...]

Как я могу «удалить» дополнительные «[]»?

import pandas as pd


excel_file = pd.read_excel(r'C:\xxx\xxx\xxx\file.xlsx')
excel_list = excel_file.values.tolist()

print(excel_list)
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
1
0
40
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Ответ принят как подходящий

Вы можете развернуть списки из 1 элемента с помощью понимания списка, которое обращается к нулевому члену списка:

excel_list = [[123], [234], [345]]  # stand-in for your current reading code

excel_list = [item[0] for item in excel_list]  # unwrap the lists

Однако лучше просто сказать Pandas, что первая строка является заголовком (если это так):

import pandas as pd

excel_file = pd.read_excel(r'so71568988.xlsx', header=1)
print(excel_file)
excel_list = excel_file["values"].tolist()
print(excel_list)

выходы

   values
0     123
1     456
2     790
3   35932
[123, 456, 790, 35932]

без дополнительной распаковки.

Вы также можете сгладить массив перед преобразованием в список.

import pandas as pd


excel_file = pd.read_excel(r'C:\xxx\xxx\xxx\file.xlsx')
excel_list = excel_file.values.flatten().tolist()

print(excel_list)

Вы можете использовать .flatten() в DataFrame, преобразованном в массив NumPy:

df.to_numpy().flatten()

Пожалуйста, обратитесь к оригинальный поток здесь - python pandas сглаживает фрейм данных в список

Ссылка на документы - https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.ndarray.flatten.html

Другие вопросы по теме