Я хочу импортировать один столбец с 10 строками в Python в виде списка.
Так что у меня, например, в excel: один, два, три, четыре, ..., десять Все, что написано в столбце A над строками 1-10.
Теперь я хочу импортировать эти ячейки в Python, чтобы получить следующий результат:
list = ['One', 'Two', 'Three', 'Four', ..., 'Ten']
Поскольку я полный новичок в программировании, я понятия не имею, как это делать. Так что подскажите, пожалуйста, самый простой способ. Все обучающие программы, которые я нашел, не дали мне желаемого результата. Спасибо
Я использую Python 2.7
Спасибо за вашу помощь! К сожалению, я получаю ошибку атрибута: объект 'module' не имеет атрибута 'to_clipboard'. Я также пробовал его с 'df = pd.read_excel (' Test.xlsx ', sheetname =' Tabelle1 ')', но затем я получаю DataFrame и не список.
Извините, это read_clipboard
Я не уверен, представлены ли ваши данные в формате xlsx или CSV. Если XLSX, используйте это руководство по Python Excel. Если CSV, это намного проще, и вы можете следовать приведенному ниже фрагменту кода. Если вы не хотите использовать панды, вы можете использовать библиотеку numpy
. Используйте приведенный ниже пример фрагмента кода, чтобы взять верхнюю строку файла CSV:
import numpy as np
csv_file = np.genfromtxt('filepath/relative/to/your/script.csv',
delimiter=',', dtype=str)
top_row = csv_file[:].tolist()
Это будет работать для файла, в котором есть только один столбец текста. Если у вас больше столбцов, используйте следующий фрагмент, чтобы получить только первый столбец. «0» указывает на первый столбец.
top_row = csv_file[:,0].tolist()
Рекомендую установить панды.
pip install pandas
а также
import pandas
df = pandas.read_excel('path/to/data.xlsx') # The options of that method are quite neat; Stores to a pandas.DataFrame object
print df.head() # show a preview of the loaded data
idx_of_column = 5-1 # in case the column of interest is the 5th in Excel
print list(df.iloc[:,idx_of_column]) # access via index
print list(df.loc[['my_row_1','my_row_2'],['my_column_1','my_column_2']]) # access certain elements via row and column names
print list(df['my_column_1']) # straight forward access via column name
(касса панды док) или
pip install xlrd
код
from xlrd import open_workbook
wb = open_workbook('simple.xls')
for s in wb.sheets():
print 'Sheet:',s.name
for row in range(s.nrows):
values = []
for col in range(s.ncols):
values.append(s.cell(row,col).value)
print ','.join(values)
(пример из https://github.com/python-excel/tutorial/raw/master/python-excel.pdf)
Несмотря на то, что панды - отличная библиотека, для вашей простой задачи вы можете просто использовать xlrd:
import xlrd
wb = xlrd.open_workbook(path_to_my_workbook)
ws = wb.sheet_by_index(0)
mylist = ws.col_values(0)
Обратите внимание, что list
- плохое имя для переменной в Python, потому что это имя встроенной функции.
Самый простой способ - использовать
pandas
. Выделите записи столбца и скопируйте. Затем используйтеl = pd.to_clipboard().values
. Обратите внимание, что вам понадобится заголовок для вашей колонки, чтобы она работала действительно легко. Также не назначайте переменные дляlist
, это помешает вам использовать функциюlist(stuff)
.