鱼C论坛

 找回密码
 立即注册
查看: 1015|回复: 6

[已解决]for语句写入excel问题

[复制链接]
发表于 2021-9-3 16:02:26 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 颖颖M杰杰 于 2021-9-3 16:30 编辑

爬取到相关信息,在用for语句写入excel的时候发现,只保存最后一条信息。大家看看是哪问题?
def save_to_excel(item):
    wb = openpyxl.Workbook()
    ws = wb.active

    ws["A1"] = "系编号"
    ws["B1"] = "学校编号"
    ws["C1"] = "年级信息"
    ws["D1"] = "年度班级信息"
    ws["E1"] = "出生日期"
    ws["F1"] = "辅导员姓名"
    ws["G1"] = "身份信息"

    for each in item:
        ws.append(each)

    wb.save("个人编号信息.xlsx")

def main():
        item = get_itme(res)
        #print(item)
        save_to_excel(item)

if __name__ == '__main__':
    main()



                               
登录/注册后可看大图


                               
登录/注册后可看大图


[['0004002190', '000017757', '管理系2020届3班', '20916363', 19610706, '陈光明', '1975******17']]
[['0004003263', '000017757', '机电系2020届2班', '20917362', 19610710, '黄玲玉', '1973******15']]
[['0004002082', '000017757', '管理系2020届1班', '20915361', 19620119, '李铭荣', '1980******10'], ['0004002083', '000017757', '管理系2020届2班', '20915362', 19620200, '程锋', '1979******16'],['0004002084', '000017757', '管理系2020届3班', '20915363', 19620201, '李铭波', '1979******19']]
[['004002894', '000017757', '英语系2020届1班', '20916461', 19640315, '胡蓉霞', '1981******19']]
最佳答案
2021-9-3 17:05:17
import openpyxl
res = 'res.txt'
def get_itme(res):
    lst = []
    with open(res) as f:
        text = f.read().replace(',',',')
        lst2 = text.split('\n')
        for i in lst2:
            lst+=eval(i)
    return lst

def save_to_excel(item):
    wb = openpyxl.Workbook()
    ws = wb.active

    ws["A1"] = "系编号"
    ws["B1"] = "学校编号"
    ws["C1"] = "年级信息"
    ws["D1"] = "年度班级信息"
    ws["E1"] = "出生日期"
    ws["F1"] = "辅导员姓名"
    ws["G1"] = "身份信息"

    for each in item:
        ws.append(each)

    wb.save("个人编号信息.xlsx")

def main():
        item = get_itme(res)
        #print(item)
        save_to_excel(item)

if __name__ == '__main__':
    main()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-9-3 16:22:53 | 显示全部楼层
请贴完整代码,同时提供那个txt。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-9-3 16:31:46 | 显示全部楼层
suchocolate 发表于 2021-9-3 16:22
请贴完整代码,同时提供那个txt。

就是不知为什么用print能打出来,然后保存excel的时候只能保存最后一条信息,前面的都给覆盖了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-9-3 16:35:15 | 显示全部楼层
你打印一下item
看看结构是啥
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-9-3 16:42:58 | 显示全部楼层
逃兵 发表于 2021-9-3 16:35
你打印一下item
看看结构是啥

[['0004002190', '000017757', '管理系2020届3班', '20916363', 19610706, '陈光明', '1975******17']]
<class 'list'>
[['0004003263', '000017757', '机电系2020届2班', '20917362', 19610710, '黄玲玉', '1973******15']]
<class 'list'>
[['0004002082', '000017757', '管理系2020届1班', '20915361', 19620119, '李铭荣', '1980******10'], ['0004002083', '000017757', '管理系2020届2班', '20915362', 19620200, '程锋', '1979******16'],['0004002084', '000017757', '管理系2020届3班', '20915363', 19620201, '李铭波', '1979******19']]
<class 'list'>
[['004002894', '000017757', '英语系2020届1班', '20916461', 19640315, '胡蓉霞', '1981******19']]
<class 'list'>
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-9-3 16:47:34 | 显示全部楼层
这是多层结构的list,问题出在这了
最后一次返回的只有最后一个列表
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-9-3 17:05:17 | 显示全部楼层    本楼为最佳答案   
import openpyxl
res = 'res.txt'
def get_itme(res):
    lst = []
    with open(res) as f:
        text = f.read().replace(',',',')
        lst2 = text.split('\n')
        for i in lst2:
            lst+=eval(i)
    return lst

def save_to_excel(item):
    wb = openpyxl.Workbook()
    ws = wb.active

    ws["A1"] = "系编号"
    ws["B1"] = "学校编号"
    ws["C1"] = "年级信息"
    ws["D1"] = "年度班级信息"
    ws["E1"] = "出生日期"
    ws["F1"] = "辅导员姓名"
    ws["G1"] = "身份信息"

    for each in item:
        ws.append(each)

    wb.save("个人编号信息.xlsx")

def main():
        item = get_itme(res)
        #print(item)
        save_to_excel(item)

if __name__ == '__main__':
    main()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-6-14 08:42

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表