ean13码的生成,python读取csv中数据并处理返回并写入到另一个csv文件中

# -*- coding: utf-8 -*-
import math
import re
import csv
import repr
def ean_checksum(eancode):
    """returns the checksum of an ean string of length 13, returns -1 if the string has the wrong length"""
    if len(eancode) != 13:
        return -1
    oddsum=0
    evensum=0
    total=0
    eanvalue=eancode
    reversevalue = eanvalue[::-1]
    finalean=reversevalue[1:]

    for i in range(len(finalean)):
        if i % 2 == 0:
            oddsum += int(finalean[i])
        else:
            evensum += int(finalean[i])
    total=(oddsum * 3) + evensum

    check = int(10 - math.ceil(total % 10.0)) %10
    return check

def sanitize_ean13(csvfile):
    reader = csv.reader(file(csvfile,‘rb‘))
    writer = csv.writer(file(‘C:/Users/Administrator/Desktop/1.csv‘,‘wb‘))
    for id,ean13 in reader:
        if not ean13:
            return "0000000000000"
        ean13 = str(ean13)
        ean13 = ‘0‘ * (9-len(ean13)) + ean13
        ean13 = ‘042‘ + ean13
        ean13 = re.sub("[A-Za-z]","0",ean13);
        ean13 = re.sub("[^0-9]","",ean13);
        ean13 = ean13[:13]
        if len(ean13) < 13:
            ean13 = ean13 + ‘0‘ * (13-len(ean13))
        s=ean13[:-1] + str(ean_checksum(ean13))
        writer.writerow([id,s])
sanitize_ean13(‘C:/Users/Administrator/Desktop/res.partner.csv‘)
时间: 2024-08-10 19:18:40

ean13码的生成,python读取csv中数据并处理返回并写入到另一个csv文件中的相关文章

将类的定义放在头文件中,把成员函数的实现代码放在一个cpp文件中

写这种.h和.cpp文件分开的大程序,虽然对很多人来说很简单,对自己来说算是第一次吧,好好学C++,加油~ 题目:定义Point类,由Point派生出Circle类,再由Circle派生出Cylinder类.将类的定义部分分别作为3个头文件,对他们的成员函数的定义分别作为3个源文件 1.Point.h文件 1 #ifndef POINT_H 2 #define POINT_H 3 #include<iostream> //头文件也需要包含这个 4 using namespace std; 5

iOS开发 - 二维码的生成与读取

二维码的生成 从iOS7開始集成了二维码的生成和读取功能 此前被广泛使用的zbarsdk眼下不支持64位处理器 生成二维码的步骤: 导入CoreImage框架 通过滤镜CIFilter生成二维码 二维码的内容(传统的条形码仅仅能放数字): 纯文本 名片 URL 生成二维码 // 1. 实例化二维码滤镜 CIFilter *filter = [CIFilter filterWithName:@"CIQRCodeGenerator"]; // 2. 恢复滤镜的默认属性 [filter se

补:小玩文件2--将文本文件中的所有行加上行号后写到新文件中

输入代码: /* *Copyright (c)2015,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:sum123.cpp *作 者:林海云 *完成日期:2015年8月18日 *版 本 号:v2.0 *问题描述:将文本文件abc.txt中的所有行加上行号后写到newabc.txt文件中. *程序输入:文件读取. *程序输出:将文本文件中的所有行加上行号后写到新文件中. */ #include <iostream> #include <cstdlib

IOS中将对象属性列表归档成一个plist文件中

归档步骤: 1.将一个NSDictionary对象归档到一个plist属性列表中 <1> 首先要将数据封装成字典: NSMutableDictionary * dict = [NSMutableDctionary dictionary]; [dict setObject:@"烟灰" forKey:@"name"]; [dict setObject:@"1234567" forKey:@"phoneNumber"];

将日志非覆盖式的写入沙盒mylog.log文件中

//将日志写入沙盒mylog.log文件中 -(void)writeLogMessageToLocationFile:(NSString *)logMessagesString isCover:(BOOL)isCover{ // NSDocumentDirectory 要查找的文件 // NSUserDomainMask 代表从用户文件夹下找 // 在iOS中,只有一个目录跟传入的参数匹配,所以这个集合里面只有一个元素 NSArray *paths = NSSearchPathForDirect

一个修改文件中指定内容的程序

下面是一个修改文件中指定内容的程序,这里面主要用到了以下几个函数: FILE * fopen(const char * path,const char * mode); size_t fread ( void *buffer, size_t size, size_t count, FILE *stream) ; buffer:用于接收数据的内存地址: size:要读的每个数据项的大小,单位为字节: count:要读的数据项的个数: stream:输入流. size_t fwrite(const

在VS中让一个JS文件智能提示另一个JS文件中的成员

“在VS中如何让一个JS文件智能提示另一个JS文件中的成员” 有时候会有这种情况:当我的一个Web页面引用了两个JS文件(假如分别叫common.js和JScript1.js),如果JScript1.js中需要调用大量的common.js中的方法,这时候在JScript1.js中智能提示(或叫显示文字自动完成)common.js中的成员就显得非常有必要了. 其实方法很简单,把common.js往JScript1.js文件的顶部中一拖就可以了,然后它会多出这样一段被注释的代码:/// <refer

一个.java文件中是否可以有多个外部类

前段时间,有个同事问到我这个问题:一个.java文件中是否可以有多个外部类? 答案:可以有多个外部类,但最多只能有一个被public修饰的class. 且若这个.java文件中有一个public类型的class,则这个class名需与.java文件名一致. 举例: 文件A.java里有如下外部类 public class A1会报错,报错信息是如下:提示public 类型的A1必须定义在它自己的文件中 因此一个java文件中是不能同时有两个public 类型的class的.

将多个txt文件写入到一个txt文件中

今天在工作中遇到一个比较繁琐的问题,就是我们下载了几十个密钥,分在不同的txt文件中,但是我们在导入密钥的过程中是需要放在同一个txt文件中进行批量导入的,所以笨的方法就是手动 CTRL+C.CTRL+V,这样几十个文件下来,不仅效率很低,并且容易出错.为此,想到了利用java文件类来进行操作. 虽然大学里学的是软件工程专业,但是从来没有认真学习过,找的工作也不是开发,所以好多基础知识都不明白,为此只好找javaAPI来看. 下面是实现将多个txt文件的内容复制到一个txt文件中去的代码: pa