[英]Can't read csv file
我正在尝试读取csv文件。 在下面的代码中,未输入for循环,并且不会引发任何异常:
csvfile = r"C:\Development\input-data\Locations.csv"
try:
with open(csvfile, 'r') as csvfile:
reader = csv.reader(csvfile, delimiter=' ', quotechar='|')
for row in reader:
#print ("row: " + str(row))
print (', '.join(row))
except IOError:
print ("IOError: " + csvFile)
sys.exit()
我究竟做错了什么?
编辑:错误是2部分。 首先,正如@bernie建议的那样,我已经用我的代码覆盖了csvfile。 第二,更改@KarenClark显示的代码。
在“ with open”部分中声明csv文件,如下所示:
try:
with open(r'C:\Development\input-data\Locations.csv', 'rb') as csvfile:
reader = csv.reader(csvfile, delimiter=' ', quotechar='|')
for row in reader:
print (', '.join(row))
except IOError:
print ("IOError: " + csvFile)
sys.exit()
我试图使用for循环以及其他条件读取csv文件。 似乎太大了,但对我有用……尝试一下。
import sys
f1 =open("csv_file.csv")
def splitter(f1):
f2 = f1.readlines()
check = 0
check1 = 0
x =""
y =""
temp=[]
for row in f2:
if row.find('"')!= -1:
for i in row:
if i == '"':
check = check+1
if (check)%2 == 0:
temp.append(x)
x=""
continue
if (check)%2 != 0:
x = x+i
continue
if i == ',':
check1= check1+1
if (check1)>= 2:
if y=="":
continue
temp.append(y)
y=""
continue
if i=='\n':
y = y+i
temp.append(y)
y=""
continue
if (check1)>=1:
y = y+i
continue
if i=="":
continue
for s in temp:
print s
temp=[]
else:
z= row.split(',')
for a in z:
print a
def main(argv):
splitter(f1)
if __name__ == "__main__":
try:
main(sys.argv)
except KeyboardInterrupt:
pass
`
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.