请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

我写入数据到excel里面的时候,单元格的列数总数和预期的不一样

来说,我是把excel里面的列号单独写在了一个常量类里面直接调用出来的
在没有写入数据的情况下,通过已配置的列号可以支持获取到指定单元格的数据,但是写入的时候总数会写在规定的单元格列数-1里面
这是我的常量类:

"""#
存放配置数据
存放case中各项参数对应的列号
"""


class config_data:
    ID = 0
    name = 1
    host = 2
    url = 3
    is_run = 4
    method = 5
    header = 6
    case_depend = 7
    data_depend = 8
    field_depend = 9
    data = 10
    expect_type = 11
    expect = 12
    result = 13
    result_data = 14
# 获取case ID的列号
def get_ID_column():
    return config_data.ID
# 获取case name的列号
def get_name_column():
    return config_data.name
# 获取case name的列号
def get_host_column():
    return config_data.host
# 获取case url的列号
def get_url_column():
    return config_data.url
# 获取case is_run的列号
def get_is_run_column():
    return config_data.is_run
# 获取case method的列号
def get_method_column():
    return config_data.method
# 获取case header的列号
def get_header_column():
    return config_data.header
# 获取case case_depend的列号
def get_case_depend_column():
    return config_data.case_depend
# 获取case data_depend的列号
def get_data_dapend_column():
    return config_data.data_depend
# 获取case field_depend的列号
def get_field_depend_column():
    return config_data.field_depend
# 获取case data的列号
def get_data_column():
    return config_data.data
# 获取case expect的列号
def get_expect_type_column():
    return config_data.expect_type
# 获取case expect的列号
def get_expect_column():
    return config_data.expect
# 获取case result的列号
def get_result_column():
    return config_data.result
# 获取result_data的列号
def get_result_data():
    return config_data.result_data

这是获取指定单元格的方法:

    def get_sheet_cell_value(self, row, column):
        """
        获取指定的sheet table的单元格的值
        """
        cell_value = self.get_sheet().cell(row=row, column=column)
        return cell_value

get_case_data = GetRequestData()

if __name__ == '__main__':
    print(get_case_data.get_sheet_cell_value(2, 13).value)

因为获取的是一个列表,我就送0开始取值,但是实际从0开始取值就会报错,但是我依然从0开始取值,只是调用方法就能正常获取到从0开始的所有单元格的值,唯独写入的时候直接根据写死的列号就不行,就会覆盖预期列-1的列的值

正在回答

1回答

你先通过直接最简单得写法,直接在一个空格里面去写入一个value,然后指定行、列,你去看一下是否能达到你得预期,如果能达到,那么你就需要通过去看你代码,一步一步打印看问题了

0 回复 有任何疑惑可以回复我~
  • 提问者 _静言_ #1
    找到问题了:
    我写的列号是根据从excel中获取到的单行值的列表角标来定的,但是后面调用写入方法的时候是直接调用操作excel方法,没有把要写入数据的行单独取出来形成列表,就会导致实际写入的列号比预期列号-1.
    这个应该是python直接操作excel和操作列表不一致导致的,统一取值和写入方式就可以避免这个问题,不统一的情况下 写入数据代码中列+1没毛病  ==
    回复 有任何疑惑可以回复我~ 2020-07-15 11:47:51
  • 提问者 _静言_ #2
    非常感谢!
    回复 有任何疑惑可以回复我~ 2020-07-15 17:33:57
  • Mushishi 回复 提问者 _静言_ #3
    哈哈,不错不错,加油
    回复 有任何疑惑可以回复我~ 2020-07-15 18:10:33
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信