コード例 #1
0
def downloadprepros(masukan):
    f = StringIO()
    for a in masukan:
        print('manja', a)
        f.write(a)
        f.write('\n')
    f.flush()
    f.seek(0)

    response = HttpResponse(FileWrapper(f), content_type='text/csv')
    response['Content-Disposition'] = 'attachment; filename=test.csv'
    return response
コード例 #2
0
ファイル: views.py プロジェクト: diahnuri/TMSS
def hasilCSV(request):
    if request.method == 'POST':
        name = request.FILES['fileInput'].name
        typeFile = name.split('.')[1]
        if(typeFile == 'txt'):
            reader = TextIOWrapper(request.FILES['fileInput'].file, encoding='utf-8')
        elif(typeFile == 'csv'):
            try:
                text = TextIOWrapper(request.FILES['fileInput'].file, encoding='utf-8')
                reader = csv.reader(text)
            except:
                text = StringIO(request.FILES['fileInput'].file.read().decode())
                reader = csv.reader(text)
        
        arrData = []
        for line in reader:
            line = ''.join(line)
            arrData.append(line)
        
        myfile = StringIO()
        
        metode = request.POST['metode']
        statusFormalisasi = request.POST.get('formalisasi', False)
        if(metode == 'EDR'):
            for line in arrData:
                hasil = F_EDR(line)
                myfile.write(hasil + os.linesep)
        elif(metode == 'ED'):
            for line in arrData:
                hasil = F_ED(line)
                myfile.write(hasil + os.linesep)
        elif(metode == 'BG'):
            for line in arrData:
                hasil = F_BG(line)
                myfile.write(hasil + os.linesep)
        
        myfile.flush()
        myfile.seek(0)
        
        response = HttpResponse(FileWrapper(myfile), content_type='text/csv')
        response['Content-Disposition'] = 'attachment; filename=hasil.csv'
        return response
    else:
        return render(request, 'index_preprocess.html', {})
        
        
コード例 #3
0
def downloadfile1(allfile, facebookdata):
    panjang = len(allfile)

    if panjang == 3:
        ##do something
        f = StringIO()
        wb = Workbook()
        ws = wb.active

        for row in facebookdata:
            f.write(row.name + ',' + row.status + ',' + str(row.like) + ',' +
                    str(row.comment) + ',' + str(row.share))
            f.write('\n')
            ws.append([row.name, row.status, row.like, row.comment, row.share])

        f.flush()
        f.seek(0)

        ##make json
        g = StringIO()
        data = []
        for row in facebookdata:
            data1 = {}
            data1["NAME"] = row.name
            data1["STATUS"] = row.status
            data1["LIKE"] = row.like
            data1["COMMENT"] = row.comment
            data1["SHARE"] = row.share
            data.append(data1)
        json.dump(data, g, indent=3)
        g.flush()
        g.seek(0)

        output = BytesIO()
        zip = ZipFile(output, 'w')
        zip.writestr("Data_facebook.csv", f.getvalue())
        zip.writestr("Data_facebook.JSON", g.getvalue())
        zip.writestr("Data_facebook.xlsx", save_virtual_workbook(wb))
        zip.close()
        response = HttpResponse(output.getvalue(),
                                content_type='application/octet-stream')
        response[
            'Content-Disposition'] = 'attachment; filename=Data_facebook.zip'

        return response

    elif panjang == 2:

        ##read list
        if '0' and '1' in allfile:
            ##return csv and json
            print('csv and jsn')
            #make csv
            f = StringIO()

            for row in facebookdata:
                f.write(row.name + ',' + row.status + ',' + str(row.like) +
                        ',' + str(row.comment) + ',' + str(row.share))
                f.write('\n')

            f.flush()
            f.seek(0)

            ##make json
            g = StringIO()
            data = []
            for row in facebookdata:
                data1 = {}
                data1["NAME"] = row.name
                data1["STATUS"] = row.status
                data1["LIKE"] = row.like
                data1["COMMENT"] = row.comment
                data1["SHARE"] = row.share
                data.append(data1)
            json.dump(data, g, indent=3)
            g.flush()
            g.seek(0)

            output = BytesIO()
            zip = ZipFile(output, 'w')
            zip.writestr("Data_facebook.csv", f.getvalue())
            zip.writestr("Data_facebook.JSON", g.getvalue())
            zip.close()
            response = HttpResponse(output.getvalue(),
                                    content_type='application/octet-stream')
            response[
                'Content-Disposition'] = 'attachment; filename=Data_facebook.zip'

            return response

        elif '0' and '2' in allfile:
            #return csv and xls
            print('csv and xls')
            f = StringIO()

            for row in facebookdata:
                f.write(row.name + ',' + row.status + ',' + str(row.like) +
                        ',' + str(row.comment) + ',' + str(row.share))
                f.write('\n')

            f.flush()
            f.seek(0)

            g = StringIO()
            wb = Workbook()
            ws = wb.active

            for row in facebookdata:
                ws.append(
                    [row.name, row.status, row.like, row.comment, row.share])

            output = BytesIO()
            zip = ZipFile(output, 'w')
            zip.writestr("Data_facebook.csv", f.getvalue())
            zip.writestr("Data_facebook.xlsx", save_virtual_workbook(wb))
            zip.close()
            response = HttpResponse(output.getvalue(),
                                    content_type='application/octet-stream')
            response[
                'Content-Disposition'] = 'attachment; filename=Data_facebook.zip'

            return response
        else:
            #return json xls

            #make json file
            f = StringIO()
            data = []
            for row in facebookdata:
                data1 = {}
                data1["NAME"] = row.name
                data1["TWEET"] = row.tweet
                data1["RETWEET_USER"] = row.Retweet_user
                data1["HASHTAGS"] = row.hashtag
                data1["DATE"] = str(row.date)
                data.append(data1)
            json.dump(data, f, indent=3)
            f.flush()
            f.seek(0)

            #make xls file
            g = StringIO()
            wb = Workbook()
            ws = wb.active

            for row in facebookdata:
                ws.append(
                    [row.name, row.status, row.like, row.comment, row.share])

            output = BytesIO()
            zip = ZipFile(output, 'w')
            zip.writestr("Data_facebook.csv", f.getvalue())
            zip.writestr("Data_facebook.xlsx", save_virtual_workbook(wb))
            zip.close()
            response = HttpResponse(output.getvalue(),
                                    content_type='application/octet-stream')
            response[
                'Content-Disposition'] = 'attachment; filename=Data_facebook.zip'

            return response

    elif panjang == 0:

        ##asli
        print('do nothing')
        return HttpResponseRedirect('../search2')

    else:
        if '0' in allfile:
            f = StringIO()
            writer = csv.writer(f)

            for row in facebookdata:
                writer.writerow(
                    [row.name, row.status, row.like, row.comment, row.share])
            f.flush()
            f.seek(0)
            response = HttpResponse(FileWrapper(f), content_type='text/csv')
            response[
                'Content-Disposition'] = 'attachment; filename=Data_facebook.csv'
            return response
        elif '1' in allfile:
            f = StringIO()
            data = []
            for row in facebookdata:
                data1 = {}
                data1["NAME"] = row.name
                data1["STATUS"] = row.status
                data1["LIKE"] = row.like
                data1["COMMENT"] = row.comment
                data1["SHARE"] = row.share
                data.append(data1)
            json.dump(data, f, indent=3)
            f.flush()
            f.seek(0)
            response = HttpResponse(FileWrapper(f), content_type='js/json')
            response[
                'Content-Disposition'] = 'attachment; filename=Data_facebook.json'
            return response
        else:
            f = StringIO()
            wb = Workbook()
            ws = wb.active

            for row in facebookdata:
                ws.append(
                    [row.name, row.status, row.like, row.comment, row.share])

            response = HttpResponse(save_virtual_workbook(wb),
                                    content_type='application/vnd.ms-excel')
            response[
                'Content-Disposition'] = 'attachment; filename=Data_facebook.xlsx'

            return response