python处理数据(一)——kuwo数据处理

本文介绍了Python中处理数据的基础操作,包括如何按照字母顺序排序歌手,将数据中的分隔符转换,以及字符串的strip方法。此外,还讲解了split函数的用法,展示了不同参数下的分隔效果。最后,提到了Python中打开和写入文件的各种模式,如'r', 'w', 'a'等。" 116020919,10685620,JavaScript实现累加器add(1)(2)(3)(4),"['JavaScript', '函数', '闭包', '原型链']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、根据输入路径遍历该路径下所有文件的函数

def gci(filepath):
   files = os.listdir(filepath)
   flist = []
   for fi in files:
      fi_d = os.path.join(filepath, fi)
      flist.append(fi_d)
   return flist

按照字母顺序给歌手排序,并将原始数据中以“&”分隔变为用“ ,”分隔。

def singer_sort(singers):
   singers = singers.replace('&',',')
   singerlist = singers.split(',')
   singerlist.sort()
   singer = ""
   for isinger in singerlist:
       singer = singer + ','+isinger
   return singer.strip(',')

按行读取

for line in filename.readlines():
    line = line.decode('gbk','ignore').encode('utf-8')
    line = line.strip('\n').split('\t')

 

s为字符串,rm为要删除的字符序列. 只能删除开头或是结尾的字符或是字符串。不能删除中间的字符或字符串。
s.strip(rm)        删除s字符串中开头、结尾处,位于 rm删除序列的字符

1、当rm为空时,默认删除空白符(包括'\n', '\r',  '\t',  ' ')

2、rm删除序列是只要边(开头或结尾)上的字符在删除序列内,就删除掉。

如 >>>a='123abc'

    >>>a.strip('21')

    '3abc'

 或是 >>>a='123abc'

         >>>a.strip('12')

         ‘3abc'

split返回的是一个列表,s.split(m)即按照m对字符串s进行分隔

1、按照一个字符分隔

2、按照一个字符分隔,且分隔多次

     str = 'www.goole.com'

     str_split = str.split('.',1)

     print str_split

  输出结果为:['www','google.com']

3、按照字符串分隔

4、按照字符串分隔,且分隔多次

      str = 'winXP||win7||win8||win10'

     str_split = str.split('||',2)

      print str_split

    输出结果是['winXP','win7','win8||win10']

5、按某一字符(或字符串)分割,且分割n次,并将分割的完成的字符串(或字符)赋给新的(n+1)个变量。

 

url = ('www.google.com')

str1, str2 = url.split('.', 1)

print str1

print str2

输出结果为str1——>'www',str2——>'google.com'

向txt中写入json格式的文件

fw = open('info_data.txt', 'w')
fw.write(json.dumps(txtDict,ensure_ascii=False))
fw.write('\n')

  open函数:

  r:以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。

 rb:以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。

 r+:打开一个文件用于读写。文件指针将会放在文件的开头。

 rb+:以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。

 w:打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。

 wb:以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。

 w+:打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。

 wb:以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。

 a:打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。

 ab:以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。

 a+:打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。

 ab+:以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值