def readCsvFile(fname, parent): model = WStandardItemModel(0, 0, parent); try: f = open(fname); CsvUtil.readFromCsv(f, model); for row in range(model.rowCount()): for col in range(model.columnCount()): model.item(row, col).setFlags(ItemIsSelectable | ItemIsEditable); return model except IOError, e: error = WString.tr("error-missing-data"); error.arg(fname, UTF8); WText(error, parent); return None;
def readCsvFile(fname, parent): model = WStandardItemModel(0, 0, parent) try: f = open(fname) CsvUtil.readFromCsv(f, model) for row in range(model.rowCount()): for col in range(model.columnCount()): model.item(row, col).setFlags(ItemIsSelectable | ItemIsEditable) return model except IOError, e: error = WString.tr("error-missing-data") error.arg(fname, UTF8) WText(error, parent) return None
def getCsvProdsToFix(): filenames = gui.csvList prodstofix = [] for file in filenames: filepath = gui.getFilePath(file) if (filepath): prodstofix.extend(CsvUtil.getColumn(filepath, "id")) return prodstofix
def populateFiles(self): self.fileModel.invisibleRootItem().setRowCount(0) f = open(self.appRoot() + "data/files.csv") #if (not f): # raise Exception("Could not read: data/files.csv") CsvUtil.readFromCsv(f, self.fileModel) for i in range(self.fileModel.rowCount()): item = self.fileModel.item(i, 0) item.setFlags(item.flags() | ItemIsDragEnabled) item.setIcon("icons/file.gif") folderId = item.text().toUTF8() item.setData(folderId, UserRole) item.setText(self.folderNameMap[folderId]) self.convertToDate(self.fileModel.item(i, 4)) self.convertToDate(self.fileModel.item(i, 5))
def exportToCsv(): global results if results is None: gui.setStatus("There are no results to export.") return for key in results: results[key].insert(0, key) print(results) zipped = zip(results['created_at'], \ results['action'], \ results['entity_type'], \ results['entity_id'], \ results['unwrapped_error']) filepath = cu.writeListToCSV(output=zipped, title=f'channels-ticket{gui.getTicketNum()}', prefix=gui.getPrefix()) gui.setStatus(f"Exported to {filepath}.")
# -*- coding: utf-8 -*- import CsvUtil if __name__ == '__main__': categories, samples = CsvUtil.read_csv("../resources/watermelon.csv") for s in samples: if s[-1] == '是': print('nice') else: print(s[1])
import CsvUtil as cu import requests import datetime domain = '' token = '' csvfile = '.csv' delay= 0.5 api = VendApi(domain, token) products = api.getProducts() skus = cu.getColumn(csvfile, 'sku') handles = cu.getColumn(csvfile, 'handle') links = cu.getColumn(csvfile, 'image_url') failedskus = ['sku'] failedhandles = ['handle'] failedlinks = ['image_url'] def getSkuHandleToProdId(products): skuhandlemap = {} for p in products: sku = p['sku'] handle = p['handle'] pid = p['id']
import CsvUtil as cu import time import JsonUtil as ju import datetime as dt import sys, getopt customercsv = '.csv' emailtocodeLookup = {} code_to_keep = ['merging_customer_code'] code_to_delete = ['deleting_customer_code'] emails = cu.getColumn(customercsv, "email") cust_codes = cu.getColumn(customercsv, "customer_code") i = 0 while i < len(emails): curr_email = emails[i].lower() curr_code = cust_codes[i] lookupcode = emailtocodeLookup.get(curr_email) if lookupcode is None: emailtocodeLookup[curr_email] = curr_code i += 1 continue
if __name__ == '__main__': testjson = ju.loadJsonFile('test.json') testfiles = testjson['testfiles'] denominations = testjson['denominations'] results = [] for denomination in denominations: results.append([str(denomination)]) for testfile in testfiles: print(f"Running {testfile} : {denomination}...") totals = cu.getColumn(testfile, 'sale_total') paids = cu.getColumn(testfile, 'amount') newAlgo3 = runTest(qca.getQuickCash, totals, paids, numSuggestions=3, sortedDenom=denomination) newAlgo2 = runTest(qca.getQuickCash, totals, paids, numSuggestions=2, sortedDenom=denomination) oldAlgo = runTest(qca.getQuickCashOld, totals, paids,
import CsvUtil as cu from VendApi import * import time import JsonUtil as ju import datetime as dt import sys, getopt prefix = '' token = '' mergecsv = '.csv' deletecusts = cu.getColumn(mergecsv, "deleting_customer_code") mergingcusts = cu.getColumn(mergecsv, "merging_customer_code") delay = .8 api = VendApi(prefix, token) print(f"Retrieving customers for {prefix}.vendhq.com...") customers = api.getCustomers() custToId = {} failed_ids = ['customer_id'] failed_sales = ['sale'] failed_codes = ['status_code'] failed_response = ['response'] registers = api.getRegisters('true') regidlookup = {}
domain = '' token = '' csvfile = 'all' delay = 0.7 api = VendApi(domain, token) products = api.getProducts() prodidtoobj = api.getKeyToObjs(products, 'id') prodtoprocess = [] prodids = [] if csvfile != 'all': prodids = cu.getColumn(csvfile, 'id') for pid in prodids: prodobj = prodidtoobj.get(pid) if prodobj is None: print(f"{pid} not found in lookup...") continue prodtoprocess.append(prodobj) else: prodtoprocess = products # get the prod objects print(f'Found {len(prodtoprocess)} products to process...')
import CsvUtil as cu from VendApi import * import time import JsonUtil as ju import datetime as dt prefix = '' token = '' csvFile = '.csv' column = 'id' consignments = cu.getColumn(csvFile, column) api = VendApi(prefix, token) errored = [] errored_response = [] def getConsignmentProducts(id): result = api.getConsigmentProducts(id) #print(result) return result def reversion(getObj): return api.reversionConsigmentProducts(getObj) def reversionsProducts(cons_prods, results, errored): for cp in cons_prods: #print(cp)