是否还有其他方法打印所有数据
时间: 2023-12-17 16:03:23 浏览: 26
除了将 `for` 循环放在插入数据的代码块里面之外,还可以将所有的数据先保存到一个列表中,然后再遍历列表打印出所有的数据。具体实现可以参考下面的代码:
```
class JobPipeline(object):
def process_item(self, item, spider):
db = pymysql.connect(host='localhost',
user='root',
password='123456',
db='qyf',
charset='utf8')
cursor = db.cursor()
data_list = [] # 保存所有数据的列表
for i in range(len(item)):
parser=list()
parser.append(item[i]['工作'])
parser.append(item[i]['最低薪资'])
parser.append(item[i]['最高薪资'])
parser.append(item[i]['地址'])
parser.append(item[i]['最低经验'])
parser.append(item[i]['最高经验'])
data_list.append(parser) # 将数据添加到列表中
sql = "insert into zlzp2 (work, money_min, money_max, address, experience_min,experience_max)values(%s,%s,%s,%s,%s,%s)"
cursor.execute(sql,tuple(parser))
db.commit()
# 对事务操作进行提交
cursor.close()
# 关闭游标
db.close()
for data in data_list:
print(data) # 遍历列表打印所有的数据
return item
```
这样,所有的数据都会先保存到 `data_list` 列表中,然后再遍历列表打印出所有的数据。