我写了Django python csv阅读器,但它没有正常工作。我可以看到该文件已上传到系统,但我无法阅读,而且我收到以下错误:
Exception Type: AttributeError
Exception Value: 'str' object has no attribute 'read'
data = csv.reader(open('tmp/tmp.csv'), delimiter=";")
当我静态使用时,它正在工作,但我需要通过文件上传接收的动态信号。我需要你的帮助,因为我没有办法解决这个问题。 我知道decode_file,io_string和数据变量无法正常工作但无法修复它们。
def upload_csv(request):
if request.method == 'POST' and request.FILES['csv_file']:
myfile = request.FILES['csv_file']
fs = FileSystemStorage()
filename = fs.save(myfile.name, myfile)
decoded_file = filename.read().decode('utf-8')
io_string = io.StringIO(decoded_file)
data = csv.reader(io_string, delimiter=';', quotechar='|')
for row in data:
if row[0] != 'FP_Item':
post = FP()
post.FP_Item = row[0]
post.save()
CSV文件:不多,因为仍然是导入试验,只有2行。有;在最后但我删除并重试仍然相同
5.Item try
Try
答案 0 :(得分:1)
您尝试在csv.reader中读取字符串。你在upload_csv中改变你的代码:
$conf=[
'scheme'=>'tcp',
'host'=>'127.0.0.1',
'port'=>'6379'
];
$client = new Predis\Client($conf);
$client->hmset('metavars', 'foo', 'bar', 'hoge', 'piyo', 'lol', 'wut');