python读取txt文件内容,写入csv文件中去。

txt文件中的内容大概是这样的:
2.在图3中,当开关断开时,R1、R2_______(串联/并联),当开关闭合时,被短路。开关由断开转为闭合时,总电阻,总电流_______,通过R2的电流_______(变大/变小/不变)。
3.如图3,当开关闭合时,R2两端电压为3V,若R2=10Ω,则电流为_______。断开开关后,R2两端电压为1V,则电流为_______,此时R1两端电压为_______, R1=
4.如图3,当开关闭合时,电流为0.6V,若R2=10Ω,则电源电压为
,断开开关后,电流为0.2V,则总电阻R1=
5.在图4中,当开关断开时,被断路,当开关闭合时,R1、R2(串联/并联)。开关由断开转为闭合时,总电阻
,总电流_______,通过R2的电流_______(变大/变小/不变)。

第一步:
将txt文件读取进来
第二步:
将其中的下划线替换为括号。
第三步:
将读取进来的文件按照题目标号分成列表。例如 从2.开始,截取到3.结束(这里面的‘.’不是普通的点,我用ord(.)查看了他对应的数字,和普通的英文句号不同,正是因为这样我才有机会截取出来)。这样就可以将一道完整的题目存到一个列表list1中的元素里面了。
第四步:
将list1中的元素写入到csv格式的文件中去,这样有助于我后续处理。

import csv


f=open(r'C:\Users\User\mu_code\新建文本文档.txt','r',encoding="utf-8")
nei_rong = f.read()
nei_rong_list=[]

# for i in range(3):
#     string1=str(a)+'.'
#     nei_ronglist.append(str(a)+'.'+nei_rong.split(string1,1)[1])
#     a=a+1

b='____________________________________________________________'
for i in range(60):
    nei_rong=nei_rong.replace(b,'(   )')  
    #replace 的作用在字符串中寻找b字符,如果有就全部替换掉
    b=b.replace('_','',1)
    #replace 中的1代表想替换几个,代表替换的数量,这个循环的作用是:在字符串中寻找‘_’,先寻找最长的
    #再将b中的一个下划线去掉,b变短了一截,在其中寻找短一截的b。由最长至最短寻找,逐渐的将nei_rong
    #中的长短不一的下划线替换魏括号。
    print(b)
# nei_rong=nei_rong.replace('______','(   )')
# nei_rong=nei_rong.replace('_______','(   )')
# nei_rong=nei_rong.replace('_________','(   )')
# nei_rong=nei_rong.replace('__________','(   )')
# nei_rong=nei_rong.replace('___________','(   )')
# nei_rong=nei_rong.replace('____________','(   )')
# nei_rong=nei_rong.replace('_____________','(   )')
# nei_rong=nei_rong.replace('______________','(   )')
# nei_rong=nei_rong.replace('_______________','(   )')
# nei_rong=nei_rong.replace('________________','(   )')
# nei_rong=nei_rong.replace('_________________','(   )')
a=2
for i in range(20):
    #a最开始等于2,并且不断增加。find函数找到字符串nei_rong中的元素 2.,然后再去寻找3. 并且将这些元
    #素的
    #序号存储在start中和end中
    start=nei_rong.find(str(a)+'.')
    end=nei_rong.find(str(a+1)+'.')
    #这里对字符串进行了截取,将其中一部分截取出来,放在str1中。str1中存储的就是一道完整的电学题目。
    str1=nei_rong[start:end]#这里注意截取要使用冒号
    nei_rong_list.append(str1)#截取一道题目,放在列表种一道题目
    a=a+1



with open(r'C:\Users\User\mu_code\test.csv','w')as f:
    f_csv = csv.writer(f)
    for i in range(len(nei_rong_list)):
        #这里有两个地方容易错误,writerow写成writerows,还有就是writerow()括号里面的内容要加上[],不然使用
        #excel打开的时候发现每个单元格里面都只有一个字符。
       f_csv.writerow([nei_rong_list[i]])
    
    
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值