char函数

Python――解决工作中的小问题

匿名 (未验证) 提交于 2019-12-02 22:51:30
问题描述: 业务系统的会员信息表进入到数仓中,存在数据缺失,其造成这一问题的原因是后台会手动处理一些数据(卸数等ETL流程不存在问题),造成卸数时取不到这些数据,经过考虑,决定用Python解决这一问题。 以下代码中设计到的一些比较有用的函数及问题: 1、比较两个list,取出一个list不存在于另一个list中的值 final=set(data_userid).difference(set(data_memberid)) 2、将数据框dataframe写入数据库,用以下方法很容易实现 engine=create_engine('oracle://pdm:dwPDM2018#@192.168.0.72:1521/pdm', echo=True) data.convert_objects(convert_numeric=True).to_sql('t01_e3_member_info_lxh', con=engine, if_exists='replace', index=False, index_label=None) 3、当利用Python执行insert into tablename1 select * from tablename2语句时,若tablename2中存在空数据,若使用import pandas.io.sql as sql;sql.read_sql(sqlstr1

linux c++ sqlite3

久未见 提交于 2019-12-02 22:13:13
1,基本信息: 1)#include <sqlite3.h> 2)int rc = sqlite3_open(db_name, &db);//不存在会创建文件 3)查询后直接返回结果 而不是回调 i nt sqlite3_get_table (sqlite3 *, // 打开的数据库对象指针 const char * sql, // 要查询的 sql 语句 char *** resultp, // 查询结果 int * nrow, // 查询出多少条记录(即查出多少行) int * ncolumn, // 多少个字段(多少列) char ** errmsg // 错误信息 ); 4) sqlite3_close(sqlite3 *db); 5) sqlite3_exec(sqlite3*, const char *sql, int (*callback)( void *, int , char **, char **), void *, char **errmsg); int sqlite3_exec ( sqlite3 *db, // 使用 sqlite3_open () 打开的数据库对象。 const char *sql, // 一条待查询的 SQL 语句 sqlite3_callback, // 自定义的回调函数,对查询结果每一行都执行一次这个函数 void *,//

C#中的split的基本用法

匿名 (未验证) 提交于 2019-12-02 22:06:11
split的使用: 1、使用char()字符分隔:根据单个的char()类型的进行分隔 string str="e2kdk2fjod2fiksf21"; string [] sArray=str.Split('2');//因为是用char类型分隔字符,使用一定要用单引号//sArray的值:sArray[0]="e",sArray[1]="kdk",sArray[2]="fjod",sArray[3]="fiksf",sArray[4]="1"; 2、利用多个字符来分隔字符串 string str= "TGEDTC_GUIZHISHENG_GUIYHI"; string [] sArray=str.Split(new char[] {'J','G' });//等同于str.Split(new char[2] {'J','G' }) //sArray值:sArray[0]="T",sArray[1]="EDTC_",sArray[2]="UIZHISHEN",sArray[3]="_",sArray[4]="UIYHI" 3、用字符串进行分隔 string str= "TGEDTC_GUIZHISHENG_GUIYHI"; string [] sArray=Regex.Split(str, "UI"); //sArray值:sArray[0]="TGEDTC_G",sArray[1]

Linux应用层读写i2c从设备(eeprom)

匿名 (未验证) 提交于 2019-12-02 21:59:42
/***************************************************************************** i2c读函数,参数1:从设备地址,参数2:寄存器地址,参数3:读取数据缓冲区,参数4:读取数据大小 ******************************************************************************/ unsigned char _i2c_read( unsigned char device_addr, unsigned char sub_addr, unsigned char *buff, int ByteNo) { int fd, ret; unsigned char buftmp[ 32 ]; struct i2c_rdwr_ioctl_data i2c_data; const char *i2c_dev = "/dev/i2c-0" ; //---------------------------------- device_addr >>= 1 ; //init fd = open(i2c_dev, O_RDWR); if (fd< 0 ) { printf ( "not have /dev/i2c-0 t\r\n" ); return - 1 ; } i2c

linux c实现mypwd

匿名 (未验证) 提交于 2019-12-02 21:59:42
这个其实很简单,只需要调用 getcwd() 这个函数就行了。 char *getcwd( char *buffer, int maxlen); 功能:获取当前工作目录 参数:buffer指向用来存储绝对路径的数组,maxlen绝对路径的字符大小 返回:成功则返回当前的工作目录,失败则返回FALSE eg: #define MAXLEN 200 void mypwd(){ char path_name[MAXLEN]; if (getcwd(path_name,MAXLEN) printf ( "%s\n" ,path_name); else { printf ( "Error:getcwd...\n" ); exit ( 0 ); } } 欢迎留言交流。。。 文章来源: linux c实现mypwd

系统调用IO和标准IO

匿名 (未验证) 提交于 2019-12-02 21:56:30
Ŀ¼ open close read write lseek ioctl 在Linux中一切皆文件,文件操作在Linux中是十分重要的。为此, Linux内核提供了一组用户进程与内核进行交互的接口用于对文件和设备进行访问控制,这些接口被称为系统调用。 系统调用对于应用程序最大的作用在于: 以统一的形式,为应用程序提供了一组文件访问的抽象接口,应用程序不需要关心文件的具体类型,也不用关心其内部实现细节。 常用的系统调用IO函数有5个:open、close、read、write、ioctl,此外还有个非系统调用IO函数lseek,系统调用IO都是不带缓冲的IO。 open open用于创建一个新文件或打开一个已有文件,返回一个非负的文件描述符fd。 0、1、2为系统预定义的文件描述符,分别代表STDIN_FILENO、STDOUT_FILENO、STDERR_FILENO。 #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> //成功返回文件描述符,失败返回-1 int open ( const char * pathname , int flags , ... /* mode_t mode */ ); flags参数一般在O_RDONLY、O_WRONLY和O_RDWR中选择指定一个

Linux基本概念

匿名 (未验证) 提交于 2019-12-02 21:56:30
Ŀ¼ - 进程调度 - 内存管理 - 提供文件系统 - 创建和终止进程 - 设备访问 - 联网 - 提供系统调用应用编程接口(API) /* 由:分隔,分别对应结构中对应的字段 * root:x:0:0:root:/root:/usr/bin/zsh */ struct passwd { char *pw_name; //Login name char *pw_passwd; //Encrypted password uid_t pw_uid; //User Id gid_t pw_gid; //Group Id char *pw_gecos; //@Deprecated char *pw_dir; //Initial working directory char *pw_shell; //Login shell }; #include <pwd.h> struct passwd *getpwnam(const char *name); struct passwd *getpwid(uid_t uid); /* 扫描/etc/passwd文件 */ struct passwd *getpwent(void); void setpwent(void); //设置指针到开头 void endpwent(void); //扫描完成关闭文件 /* 由:分隔,分别对应结构中对应的字段 *

[Java] 一维数组

匿名 (未验证) 提交于 2019-12-02 21:53:52
语法为: elementType[] arrayRefVar; 例如: int[] myList; 写成与C/C++兼容的形式 int myList[] 也是可以的, 但在Java中写成 int[] myList 是首选。 // 声明数组变量 myList, 创建数组,并将数组引用赋给变量 double [] myList = new double [ 10 ]; 声明,创建以及初始化3合1,语法: elementType[] arrayRefVar = {value0, value1, ..., valuek}; 例子: double[] myList = {1.9, 2.9, 3.4, 3.5}; 等价于: double [] myList = new double [ 4 ]; myList[ 0 ] = 1.9 ; myList[ 1 ] = 2.9 ; myList[ 2 ] = 3.4 ; myList[ 3 ] = 3.5 ; 用输入值初始化数组 用随机值初始化数组 显示数组 所有元素求和 寻找最大的元素 寻找最大元素的最小索引 随机洗牌 移动元素 简化代码 package testarray; public class TestArray { public static void main (String[] args) { java.util.Scanner

基于有限状态自动机的数据类型识别功能(3)

匿名 (未验证) 提交于 2019-12-02 21:45:52
Check_science() 1 private void Check_science(String Nowline,int i) { 2 int k=Nowline.lastIndexOf('.',i)-1;//找到e最近的左边. 3 int j=Nowline.lastIndexOf(' ',i); 4 if(j!=-1) {//有空格时 5 if(k<=j)//点在空格前面或者点前一个位置就是空格 6 Check=false; 7 else if(Nowline.charAt(k)>='0' 8 &&Nowline.charAt(k)<='9' 9 &&(Nowline.charAt(k-1)==' ') 10 ) 11 Check=true; 12 else 13 Check=false; 14 } 15 else if(k==0) 16 Check=true; 17 else 18 Check=false; 19 } 这个函数用于检查所输入的行里的科学计数法是否符合格式 输入输出如下: 从图中可以看到第四位是科学计数法数字 在一行中判断科学计数法的格式是否正确有点困难,我用的算法如下 (1)找到离字母e左边最近的小数点 (2)找到离字母e左边最近的空格 (3)如果空格在小数点左边 那么该小数点属于科学记数法的小数点   3

08 在设备树里描述platform_device【转】

…衆ロ難τιáo~ 提交于 2019-12-02 18:10:32
转自: https://blog.csdn.net/jklinux/article/details/78575281 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/jklinux/article/details/78575281 在设备树的dts文件里,带有compatible属性的节点就是表示一个platform_device. 在设备树里增加一个设备,则在内核里的dts文件里描述设备节点即可. 在H5方案里,则在arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-neo2.dts文件里。 如在dts文件里加入以下内容: mynodes@77885566 { /* 则创建出来的platform_device的名为mynodes@77885566 */ compatible = "mynodes"; /* 设备节点的属性 */ autorepeat = <1>; btn1 { /* 设备子节点 */ label = "btn1"; /* 设备子节点的属性 */ code = <0x11>; }; btn2 { label = "btn2"; code = <0x22>; }; }; 增加内容后,则重编设备树: make dtbs