gpt4 book ai didi

Python:如何从 xlsx 文件中抓取数据的语法?

转载 作者:行者123 更新时间:2023-12-01 07:22:34 24 4
gpt4 key购买 nike

目前我正在从 xlsx 文件中抓取一些数据。我的代码可以工作,但看起来一团糟——至少对我来说是这样。所以我不确定我的代码根据 PEP8 是否正确。

from openpyxl import load_workbook
[...]
for row in sheet.iter_rows():
id = row[0].value
name = row[1].value
second_name = row[2].value
# ignore the following
# middle_name = row[3].value
city = row[4].value
address = row[5].value
field_x = row[7].value
field_y = row[10].value
some_function_to_save_to_database(id, name, second_name, ...)

等等。 (请注意,对于其中一些值,我进行了额外验证等)。所以它可以工作,但感觉有点“笨重”。显然,我可以将它们直接传递给函数,使其成为 some_function_to_save_to_database(row[0].value, row[1].value, ...),但是这样更好吗?感觉我在这方面失去了很多可读性。

所以我的问题如下:这是好的方法还是我应该将这些字段的字段名称映射到行顺序?设计这种抓取样式的正确方法是什么?

最佳答案

您的代码不违反 PEP8。不过,有点麻烦。而且如果数据发生变化,维护起来也不容易。也许你可以尝试:

DATA_INDEX_MAP = {
'id' : 0,
'name' : 1,
'second_name' : 2,
'city' : 4,
'address' : 5,
'field_x' : 7,
'field_y' : 10
}

def get_data_from_row(row):
return {key:row[DATA_INDEX_MAP[key]].value for key in DATA_INDEX_MAP}

for row in sheet.iter_rows():
data = get_data_from_row(row)
some_function_to_save_to_database(**data)

那么您需要做的就是修改DATA_INDEX_MAP

关于Python:如何从 xlsx 文件中抓取数据的语法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57629562/

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