鱼C论坛

 找回密码
 立即注册
查看: 2472|回复: 12

[已解决]小白作业求助

[复制链接]
发表于 2022-10-31 14:42:52 | 显示全部楼层 |阅读模式

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

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

x
大佬们

python作业就是导入一个CSV文件,文件有6列(title, authors,  groups, keywords, topics, abstract)
作业要求就是输入author名字,然后python给出title和topicc
author这一列中,作者名字都是有很多个,如( Zhongqi Lu, Yin Zhu, Sinno Pan, Evan Xiang, Yujing Wang and Qiang Yang),输入一个正确的就可以返回title和topic

我的代码如下,但是怎么都不会返回title 和topic

import csv
with open('[UCI] AAAI-14 Accepted Papers - Papers-1.csv','r',encoding="utf-8") as in_file:
    text = in_file.read()
author = input("What's the name of author?")
for line in text:
    if author in line:
        print("Title:",line[0],"Topics",line[4])
最佳答案
2022-10-31 15:49:30
caco3jy 发表于 2022-10-31 15:17
okkkk
谢谢大佬 马上发

你试一下,我对这些英文字符串 还真不敏感,看着头晕
import csv

author=input("请输入作者名:")
with open("wp.csv") as f:
    data=csv.reader(f)
    headers=next(data)
    for row in data:
        if author in row[1].split(","):
            print("title=",row[0])
            print("topic=",row[4])
  
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-10-31 14:44:59 | 显示全部楼层
把csv传上来啊  不然 咋写代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-10-31 14:50:49 | 显示全部楼层
https://cn.bing.com/search?form=MOZLBR&pc=MOZI&q=python+csv%E8%AF%BB%E5%8F%96
https://blog.csdn.net/domoNaruto/article/details/81193281
你的CSV模块都没用,要用csv.reader()来读取文件
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-10-31 15:09:38 | 显示全部楼层
wp231957 发表于 2022-10-31 14:44
把csv传上来啊  不然 咋写代码

穿不了附件是上传一个链接嘛?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-10-31 15:14:42 | 显示全部楼层
caco3jy 发表于 2022-10-31 15:09
穿不了附件是上传一个链接嘛?


你级别太低,无法上传附件
这样  你可以传到wp231957@163.com
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-10-31 15:17:49 | 显示全部楼层
wp231957 发表于 2022-10-31 15:14
你级别太低,无法上传附件
这样  你可以传到

okkkk
谢谢大佬 马上发
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-10-31 15:23:06 | 显示全部楼层
fcage 发表于 2022-10-31 14:50
https://cn.bing.com/search?form=MOZLBR&pc=MOZI&q=python+csv%E8%AF%BB%E5%8F%96
https://blog.csdn.net ...

okkk 谢谢
这两个链接我也学习下先
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-10-31 15:24:12 | 显示全部楼层
用read方法返回的是一大串字符串,先用split函数把所有名字切分成列表模式,再循环查看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-10-31 15:26:56 | 显示全部楼层
kevinde2022 发表于 2022-10-31 15:24
用read方法返回的是一大串字符串,先用split函数把所有名字切分成列表模式,再循环查看

是在open文件后就用split切分么?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-10-31 15:34:09 | 显示全部楼层
本帖最后由 kevinde2022 于 2022-10-31 15:45 编辑

变量text用split函数按照逗号切分 但是如果你的名单里又有逗号又有and 那就先用replace 把and 替换成逗号,再按逗号split成列表,如果会正则表达式得话更快些我觉得
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-10-31 15:49:30 | 显示全部楼层    本楼为最佳答案   
caco3jy 发表于 2022-10-31 15:17
okkkk
谢谢大佬 马上发

你试一下,我对这些英文字符串 还真不敏感,看着头晕
import csv

author=input("请输入作者名:")
with open("wp.csv") as f:
    data=csv.reader(f)
    headers=next(data)
    for row in data:
        if author in row[1].split(","):
            print("title=",row[0])
            print("topic=",row[4])
  
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-11-1 01:05:16 | 显示全部楼层
wp231957 发表于 2022-10-31 15:49
你试一下,我对这些英文字符串 还真不敏感,看着头晕

可以了,感谢
就是第一次输入时候报错 “ 'gbk' codec can't decode byte 0x94 in position 4111: illegal multibyte sequence“
然后我按网上的方法在open函数里加了个  encoding='utf-8',然后可以运行了
输入一个作者名后,会返回所有对应的title和topic
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-11-1 01:06:11 | 显示全部楼层
kevinde2022 发表于 2022-10-31 15:34
变量text用split函数按照逗号切分 但是如果你的名单里又有逗号又有and 那就先用replace 把and 替换成逗号, ...

好的好的
这个方法我也试下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-25 21:24

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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