【发布时间】:2020-07-02 22:25:54
【问题描述】:
我是 Python 的初学者,我正在尝试编写一个程序来从 Google 表格中获取数据并将其插入 MYSQL。我有一个值列表,我想为列表中的每个值执行一个函数,直到最后一个值。
##Get range
def range_list():
for i in range(1,5):
print(i)
list = range_list()
##从列表中获取值
array_data = (array(array(data[list])))
print(array_data)
s_symbol = str((array(array_data[0])))
s_name = str((array(array_data[1])))
我想更改 list 中的值并执行以下功能
##Insert to DB
def insert_sql() :
sql_insert_statement = """INSERT INTO sheet_data (
symbol,
name )
VALUES ( %s,%s )"""
val = (s_symbol, s_name)
cur.execute(sql_insert_statement, val)
mydb.commit()
print(cur.rowcount, "Record inserted successfully into s_user table")
cur.close()
insert_sql()
我想在这里实现的是脚本应该从 list 中获取值,并且应该执行函数 insert_sql。处理成功后,list 中的值应与之前的值发生变化。这个过程应该一直持续到 list 中的值。
所以对于array_data = (array(array(data[1])))
insert_sql() 应该被执行
再次为array_data = (array(array(data[2])))
insert_sql() 应该被执行
这个过程应该一直持续到值 5
我怎样才能做到这一点?
【问题讨论】:
-
我对这个 (array(array(data[1]))) 感到困惑,你能解释一下什么是输入和它的模式以及你想要什么作为输出?例如,您有一个名为 A 的字符串数组,并且您希望对 A 的每个元素执行 insert_sql 并将结果保存在一个名为 B 的数组中。(这只是一个示例,我需要澄清一下。)
-
输入是从 Google 表格中获取的,并显示为数组列表 [('APPL, APPLE INC.')], [('AMZN, AMAZON INC.')] array_data = (array(array (data[1]))) 打印 [('APPL, APPLE INC.')] 所以,s_symbol = str((array(array_data[0]))) 打印 APPL 和 s_symbol = str((array(array_data[1 ]))) 打印 APPLE INC. 同样, (array(array(data[2]))) 打印 [('AMZN, AMAZON INC.')] 值 1、2、3 等与公司的符号和它的名字。我希望 (array(array(data[list]))) 中的值发生变化,并且每次值发生变化时,insert_sql 函数也应该被执行。
标签: python python-3.x list function