运行Python读取CSV文件代码时触发SyntaxError错误求助
解决Python CSV代码的SyntaxError问题
先来看你给出的出错代码:
import csv with open('loan.csv', 'rb') as csvfile: spamreader = csv.reader(csvfile, delimiter='', quotechar='|') for row in spamreader: print ','.join(row)
你遇到的这个SyntaxError核心原因是Python版本的语法差异:
在Python 3中,print已经从语句升级成了内置函数,必须用括号把要输出的内容包裹起来。但你这里用的是Python 2的print写法,放到Python 3环境下运行自然会触发语法错误。
另外还有两个小细节可以调整,避免后续出现其他异常:
csv.reader里的delimiter=''是空字符串,这不符合绝大多数CSV文件的格式(常规CSV用逗号分隔),建议改成delimiter=','- Python 3读取文本类CSV文件时,不用
'rb'(二进制只读)模式,用'r'模式即可,同时推荐加上newline=''——这是csv模块官方文档建议的写法,能避免换行符处理的奇怪问题。
修正后的代码如下:
import csv with open('loan.csv', 'r', newline='') as csvfile: spamreader = csv.reader(csvfile, delimiter=',', quotechar='|') for row in spamreader: print(','.join(row))
如果你的CSV文件确实是用空字符串做分隔符(这种情况非常少见),可以保留delimiter='',但print的括号必须加上,这是解决当前语法错误的关键。
内容的提问来源于stack exchange,提问作者Komal Kumari
相关产品推荐
相关产品推荐

