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

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

你可能感兴趣的:(python处理数据(一)——kuwo数据处理)