Python处理文本

本文介绍了如何在VSCode中使用扩展进行Python编程,并分享了删除特定列数据的方法。此外,还涉及到了ASCII码处理、写入文件、拼音操作以及根据字符串长度选择性写入行等文本处理技巧。

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

VScode里面,extension里面,搜Python,安装一下Python 和Python for vscode,就可以用vscode写Python程序了,安装下C/c++
@installed 可以查看已安装的插件

VScode删除某一列数据

同时按下alt+shift,点击第一行某列,然后拉到最后一行,同时按下alt+shift和点击的对应列,就选择一整列数据了

TXT数据,如果是一整行的,可以缩短文本窗口,自动换行显示

debug

ord() str()
函数ord()和chr()是一对功能相反的函数,函数ord()用来返回单个字符的Unicode码,而函数chr()则是用来返回Unicode编码对应的字符。
在处理ASCII码时,需要用到的两个函数方法.
Ⅰ.chr()方法:将十进制数转化为基础字符 chr(65) ‘A’
Ⅱ.ord():将字符转化为十进制数 ord(‘A’) 65
写行号c.writelines(str((int(m/1000))%10)+str(int((m/100))%10)+str(int((m/10))%10)+str(m%10)+':')

import os
string=open('bm5000.txt')
a=string.read()
b=len(a)
# print(a[4])
# print(ord(a[4]))
# for i in range(23,-1,-1):
#     print(ord(a[i]))

# x=a[0:24]
# y=0
# for i in range(23,-1):
#     if ord(x[i])!=48 and ord(x[i])!=32:
#         y=i    
# print (y)
# string="blank"
with  open('bmk.txt','w') as c :
    for i in range(0,b,24):
        m=int(i/24)
        for j in range(7,-1,-1):
            x=3*j
            y=3*j+1
            if ord(a[i+x])!=48 or ord(a[i+y])!=48:
                # c.writelines(str((int(m/1000))%10)+str(int((m/100))%10)+str(int((m/10))%10)+str(m%10)+':')
                for k in range(j):
                    z=3*k
                    c.writelines('0x'+a[i+z:i+z+2]+',')
                c.writelines('0x'+a[i+3*j:i+3*j+2]+'\n')
                break
        # if ord(a[i])==48 and ord(a[i+1])==48 and ord(a[i+4])==48 and ord(a[i+5])==48:
        #     c.writelines(str((int(m/1000))%10)+str(int((m/100))%10)+str(int((m/10))%10)+str(m%10)+':')
        #     c.writelines(string+'\n')

pinyin

文件打开,写入,与字符串拼接

with open('pxHSKqc.txt','r') as h,\
    open('pxqpyHSKqc.txt','r') as p,\
    open('ck.txt','w') as c :
    for i in range(4046):
        c.write("code unsigned char pymb_" + p.readline()[:-1] +'[] = {"'+ h.readline()[:-1] + '"};\n')


with open('qpyHSK.txt','r') as p,\
    open('cHSK2.txt','w') as c :
    for i in range(5000):
        c.write("{\"" + p.readline()[:-1]+'"},\n')

pinyindeletedz

选择性写入行,通过行的字符串长度

i=0
with open('bmk5000.txt','r') as h,\
    open('qpbmk2.txt','w') as c :
    for line in h.readlines():
        i=i+1
        if len(line)>11:
            c.write(line)

pybm

将一行文件转为多行显示

```python

import os
string=open('bm5000.txt')
a=string.read()
b=len(a)

with  open('bmk.txt','w') as c :
    for i in range(0,b,24):
        c.writelines(a[i:i+24]+'\n')

删除某些数据,就是去掉后面为零的一些数据

import os
string=open('bm5000.txt')
a=string.read()
b=len(a)
# print(a[4])
# print(ord(a[4]))
# for i in range(23,-1,-1):
#     print(ord(a[i]))

# x=a[0:24]
# y=0
# for i in range(23,-1):
#     if ord(x[i])!=48 and ord(x[i])!=32:
#         y=i    
# print (y)

with  open('bmk.txt','w') as c :
    for i in range(0,b,24):
        m=int(i/24)
        for j in range(7,-1,-1):
            x=3*j
            y=3*j+1
            if ord(a[i+x])!=48 or ord(a[i+y])!=48:
                for k in range(j):
                    z=3*k
                    c.writelines('0x'+a[i+z:i+z+2]+',')
                c.writelines('0x'+a[i+3*j:i+3*j+2]+'\n')
                break

# with  open('bmk.txt','w') as c :
#     for i in range(0,b,24):
#         for j in range(7,-1,-1):
#             x=3*j
#             y=3*j+1
#             if ord(a[i+x])!=48 or ord(a[i+y])!=48:
#                 for k in range(j):
#                     z=3*k
#                     c.writelines(hex(i%10)+':')
#                     c.writelines('0x'+a[i+z:i+z+2]+',')
#                 c.writelines('0x'+a[i+3*j:i+3*j+2]+'\n')
#                 break            

# with  open('bmk.txt','w') as c :
#     for i in range(0,b,24):
#         for j in range(7,-1,-1):
#             x=3*j
#             y=3*j+1
#             if ord(a[i+x])!=48 or ord(a[i+y])!=48:
#                 c.writelines(a[i:i+y+2]+'\n')
#                 break

            





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值