#python #excel #pandas #xlsx
#python #excel #pandas #xlsx
Вопрос:
У меня есть файл xlsx, df, который содержит большой объем данных. Я хочу извлечь данные из определенной ячейки и создать новый файл xlsx, содержащий эти извлеченные данные вместе с датой.
Вот файл, df:
A B C #headers in excel
1 2 3
Желаемый результат:
Я хочу извлечь число 3 из C1 (столбец C, строка 1), а затем создать новый файл df2, который выглядит следующим образом —
Date Value
1/1/2020 3
Это то, что я делаю:
import xlrd #package for working with excel files
import xlwt #allows you to create a new file
df = pd.read_excel(df.xlsx, sheetname="Sheet1") #reading in my .xlsx file
worksheet = workbook.sheet_by_index(0) #one sheet that I am iterating over
sheet.cell(0, 2).value #extracting the value in the first row, 2nd column
sheet.write(0, 2) #Inserting data in 1st row and 2nd Column
Тем не менее, я застрял на добавлении определенной даты во вновь созданный файл
Любое предложение приветствуется
Комментарии:
1. Вы уже читаете лист с помощью pandas, почему вы пытаетесь изменить лист напрямую
workbook
? Внесите все изменения в фрейм данных, затем сохраните в новый файл с помощью.to_excel
2. Хорошо, я вижу — я все еще учусь. Позвольте мне исследовать это. Имеет смысл
Ответ №1:
openpyxl — моя любимая библиотека для процесса Excel-python. Я использовал его в своем корпоративном проекте для импорта и экспорта данных из Excel.
Библиотека Python для чтения и записи файлов Excel (с расширением xlsx / xlsm / xltx / xltm).
Во-первых, чтобы установить этот пакет, вам необходимо завершить выполнение этой команды:
sudo pip3 install openpyxl
Давайте приведем пример того, как это работает.
Входной файл Excel
Код Python
Выведите значение первого столбца
# importing openpyxl module
import openpyxl
# Give the location of the file
path = "C:\Users\Admin\Desktop\demo.xlsx"
# workbook object is created
wb_obj = openpyxl.load_workbook(path)
sheet_obj = wb_obj.active
m_row = sheet_obj.max_row
# Loop will print all values
# of first column
for i in range(1, m_row 1):
cell_obj = sheet_obj.cell(row = i, column = 1)
print(cell_obj.value)
ВЫВОД
STUDENT 'S NAME
ANKIT RAI
RAHUL RAI
PRIYA RAI
AISHWARYA
HARSHITA JAISWAL
Ссылка:
чтение файла Excel с использованием модуля Python openpyxl