我正在构建一个接受 csv 数据作为上传文件的应用程序。
这是我观点的相关部分:
def climate_upload(request):
...
reader = csv.reader(file, delimiter=';') # news csv reader instance
next(reader) # skip header row
for line in reader:
if not line:
continue
report = site_name
report.year = line[1]
report.month = line[2]
...
report.save()
file.close() # close file
...
因此,这适用于如下所示的数据:
;"headers"
;2012;5;2012-06-01;27.1;24.5;29.8;26.8;85;0.8
;2012;5;2012-06-02;27.1;24.5;29.8;26.8;85;0.8
但在这方面失败了:
"headers"
2012;5;2012-06-01;27.1;24.5;29.8;26.8;85;0.8
2012;5;2012-06-02;27.1;24.5;29.8;26.8;85;0.8
请注意每行缺少初始分隔符。
不幸的是,MS Excel 似乎吐出了第二个版本。我认为这reader
不是将新行识别为分隔符。是否有一些带有 reader 的标志会强制它接受\n
作为分隔符;
?
非常感谢任何帮助。