Python- 如何从 excel 数据行创建元组
Python- how can I create tuples from rows of excel data
到目前为止,我一直在尝试使用"openpyxl"来完成这个任务。我想要做的是,从 excel sheet 中的行中提取所有单元格值,然后将这些单元格值作为元组列表的一部分包含在内。到目前为止,这是我的代码:
from openpyxl import load_workbook
workbook = load_workbook('work_1.xlsx')
worksheet = workbook.get_sheet_by_name('Sheet1')
sheet_cells = []
for rows in worksheet.iter_rows():
for cell in rows:
sheet_cells.append(cell.value)
print sheet_cells
我的结果:[1L、2L、3L、4L、5L、6L、7L、8L、9L、10L、11L、12L]
通过这样做,我将所有单元格值(无论它们来自哪一行)都包含在一个列表中。
我想要完成的是,有一个列表,其中每一行的值都包含为元组,如下所示:[(1L,2L,3L,4L),(5L,6L,7L,8L),(9L ,10L,11L,12L)]
在上面的示例中,我的工作sheet 使用了 3 行。
我有点卡住了(而且是在 Python 中处理 Excel 数据的新手)并且找不到此类问题的任何类似答案。谢谢。
您尝试过 Pandas 工作吗?
import pandas as pd
file=pd.read_csv(filename,header=None)
new_list=[]
for i in range(file.shape[1]):
new_list.append(list(file[i]))
尝试:
from openpyxl import load_workbook
workbook = load_workbook('work_1.xlsx')
worksheet = workbook.get_sheet_by_name('Sheet1')
sheet_cells = []
for rows in worksheet.iter_rows():
row_cells = []
for cell in rows:
row_cells.append(cell.value)
sheet_cells.append(tuple(row_cells))
print sheet_cells
到目前为止,我一直在尝试使用"openpyxl"来完成这个任务。我想要做的是,从 excel sheet 中的行中提取所有单元格值,然后将这些单元格值作为元组列表的一部分包含在内。到目前为止,这是我的代码:
from openpyxl import load_workbook
workbook = load_workbook('work_1.xlsx')
worksheet = workbook.get_sheet_by_name('Sheet1')
sheet_cells = []
for rows in worksheet.iter_rows():
for cell in rows:
sheet_cells.append(cell.value)
print sheet_cells
我的结果:[1L、2L、3L、4L、5L、6L、7L、8L、9L、10L、11L、12L]
通过这样做,我将所有单元格值(无论它们来自哪一行)都包含在一个列表中。
我想要完成的是,有一个列表,其中每一行的值都包含为元组,如下所示:[(1L,2L,3L,4L),(5L,6L,7L,8L),(9L ,10L,11L,12L)]
在上面的示例中,我的工作sheet 使用了 3 行。
我有点卡住了(而且是在 Python 中处理 Excel 数据的新手)并且找不到此类问题的任何类似答案。谢谢。
您尝试过 Pandas 工作吗?
import pandas as pd
file=pd.read_csv(filename,header=None)
new_list=[]
for i in range(file.shape[1]):
new_list.append(list(file[i]))
尝试:
from openpyxl import load_workbook
workbook = load_workbook('work_1.xlsx')
worksheet = workbook.get_sheet_by_name('Sheet1')
sheet_cells = []
for rows in worksheet.iter_rows():
row_cells = []
for cell in rows:
row_cells.append(cell.value)
sheet_cells.append(tuple(row_cells))
print sheet_cells