AAA,BBB,CCC
1,テスト,テスト
のようなウェブ上にある CSV を
csvfile = urllib.request.urlopen('<url>').read().decode('utf_8_sig')
reader = csv.reader(csvfile)
for row in reader:
  print(row)
みたいな感じで読むと、1文字ずつ取り出されてしまうようなんですが、
どういったところを疑えばよさそうですか?

CSV が1文字ずつ改行されているということもないですし、
ネットで探してもこんなことで困っているようなケースは見当たらないようですが…