gpt4 book ai didi

python - 使用 Python 解析选择性的列和行

转载 作者:行者123 更新时间:2023-11-28 18:22:07 27 4
gpt4 key购买 nike

我有 xls 类型的文件,其中有 9 列和不同的行数。我想使用 xlrd 或其他模块,以便我可以从九列中的第一列和第二列中提取所有值,然后分别使用提取的值。到目前为止,我的代码如下所示:

    import xlrd
import openpyxl

workbook = xlrd.open_workbook('C09.xls')

sheet_names = workbook.sheet_names()


sheet = workbook.sheet_by_name(sheet_names[0])

num_rows = sheet.nrows
num_cols = sheet.ncols

plist = [[0 for x in range(3)] for x in range(num_rows)]

for i in range(num_rows):
for j in range(3):
plist[i][j] = sheet.cell(i,j).value

然后使用 [i] 中的值(例如进行乘法等等),然后从 [j] 中提取相应的值。

上面的代码给出了这样的输出:

    [['Col header 1', 'Col header 2', 'Col header 3'], [1.0, 1000, 2000], [2.0, 1001, 2001], ..... so on]

有没有简单的方法呢?我是 Python 的新手,所以如果您能更具体一点,我将不胜感激。非常感谢!

最佳答案

一些反馈/改进:

在您的代码段中,初始化部分是多余的。这避免了双重迭代:

plist = [[sheet.cell(i,j).value for j in range(3)] for i in xrange(num_rows)]

如果您遇到 None 值,您可以使用以下方法规范化它们:

plist = [[sheet.cell(i,j).value or 0 for j in range(3)] for i in xrange(num_rows)]

最后,这是一种更 Pythonic 的 0 初始化方式:

plist = [x[:] for x in [[0] * 3] * sheet.nrows

关于python - 使用 Python 解析选择性的列和行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44493462/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com