实习碰到的问题,和解决方法

错题集

1、

a = 'You'
print('\n',a)
print('\n' + a)

原因:第一个是输出两个字符,python中两个字符间自动存在一个空格;第二个是成为了一个字符,所有没有空格
解决方法:
print(’\n’,‘rpg’,sep=’’)

2、
找出列表出重复的元素
https://python3-cookbook.readthedocs.io/zh_CN/latest/c01/p12_determine_most_freqently_items_in_seq.html

3、
删除目录及子文件
import shutil
shutil.rmtree(src)

4、
两个list 求交集,并集,差集,intersection、union、difference
https://blog.csdn.net/bitcarmanlee/article/details/51622263

5、
获取本机ip
ip = socket.gethostbyname(socket.gethostname())

6、
Python中 .to_csv()乱码
解决方法:添加参数 encoding=‘utf_8_sig’

8、eighth issue:

3、一些小的注意点

  • 1、用to_excel或者to_csv时,注意设置index=None
  • 2、df.x[:2]不包含末端,df.x.loc[:2]包含末端(iloc不包含末端)

4、正则,判断是否匹配到某个字符串,必须全英文

re.compile('^[A-Za-z]+$').match('sdfd') is not None
match未匹配到时,返回None

5、正则,根据某个含关键字的列表,如果字符串包含中间某个关键词,就匹配该字符串(即多对一匹配)

re.compile('|'.join(ket_list)).findall(x)
eg: excel中可能存多对一的mapping,
re.compile('^#$|^&$|^@$|^/$').findall('/')

6、‘银联境外APPLESTOREHONGKONGHKG’,被归到其他而不是香港,HONGKONG 是一个关键词,境外又是一个关键词

  • 1、通过优先级顺序,然后match就能解决,

7、df取出一列’value’(几百万行的数据,可以用reduce优化一下)的字符串的str数字,怎么求这列的和

  • .apply()转为float类型,然后.sum()

8、根据mapping表,替换几百万列表eg: {‘GUCCI’:‘Y’, ‘百货’:‘N’}, [‘百货xx’, ‘GUCCI’, ‘GUCCIxx’]

  • 1、一对多(键相同)使用:df.to_dict(orient=‘list’),然后通过正则re.compile(’|’.join(list)).match() is not None去匹配。
  • 2、(暂时还未很好实现)一对一 和 多对一 关系使用:df.to_dict(orient=‘records’),然后applymap(),

5、理解filter、map、reduce、apply、zip用法

7、寻找单层字典,根据value寻找最大N个值

8、让df类型的mapping表具有顺序matching

9、ninth

- Python中__repr__和__str__区别
	https://blog.csdn.net/luckytanggu/article/details/53649156
		print的时候:当两者同时存在时,__str__会覆盖__repr__
		偷懒定义__repr__: 定义完str后,直接__repr__ = __str__
	https://stackoverflow.com/questions/1436703/difference-between-str-and-repr

10、tenth_weekly

  • 用read_sql会将id(product_id, sales)等转为float(后面很多零),但是写回数据库又变正常。
    设置coerce_float=False,否则将含有NULL值的整数列转换为浮点数

  • read_sql,read_csv等会读出None类型吗?
    不会读出None类型,会转为np.nan
    如果设置 na_values=[], keep_default_na=False,None类型将会转为’'的str类型

  • pymssql和adodbapi调用存储过程区别
    后者在程序中会返回数据msg,前者返回不了。
    Google之后是说都可以返回,只是前者需要构造成sql语句请求,后者类似函数。后续还需要自己测试

  • python调用存储过程的时候,msg[0]不能获取到’success’
    要使用adodbapi模块,创建连接。使用pymssql获取不到msg参数

  • re.IGNORECASE相当于 内联标记(?i)

  • newline参数
    csv模块,用于区分换行符。解决写入时新增行与行之间的一个空白行问题

  • 有无t的参数r、rt区别,所以一般都用带t的模式
    rt模式下,python在读取文本时会自动把\r\n转换成\n.
    wt模式下,Python写文件时会用\r\n来表示换行。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值