第7章 文件和数据格式化(缺4,5解答)

本文介绍了多种文件操作和数据处理的方法,包括字符频率统计、文本大小写转换、随机矩阵生成与转换、代码文件处理及列表转CSV。通过具体代码示例,读者可以学习到如何在Python中高效地进行文件读写、文本处理和数据格式转换。

0701.输入一个文件和一个字符,统计该字符在文件中出现的次数。

#0701
def chTimes(fileName,ch):
    try:
        f = open(fileName,'r')
    except:
       return '{}不存在,请重新输入文件名!'.format(fileName)
    count = 0
    for i in f.read():
        if i == ch:
            count += 1
    f.close()
    return count

fileName = input("请输入文件名:")
ch = input("请输入查找字符:")
print("{}的出现次数为:{}".format(ch,chTimes(fileName,ch)))

0702.假设有一个英文文本文件,编写一个程序读取其内容并将里面的大写字母变成小写字母,小写字母变成大写字母。

#0702
def lowup(fileName):
    try:
        f = open(fileName,'r+')
    except:
       print( '文件名输入错误!')
       return 0
    sg = list(f.read())
    sg1 = []
    for ch in sg:
        if ch.islower():
            sg1.append(ch.upper())
        elif ch.isupper():
            sg1.append(ch.lower())
        else:
            sg1.append(ch)
    f.seek(0)
    f.writelines(sg1)
    f.close()
    print("处理完毕!")

fileName = input("请输入文件名:")
lowup(fileName)

0703.编写一个程序,生成一个10×10的随机矩阵并保存为文件(空格分隔行向量、换行分隔列向量),再写程序将刚才保存的矩阵文件另存为CSV格式,用Excel或文本编辑器打开看看结果对不对。

#0703
from random import *

a = eval(input())#矩阵元素大小下限
b = eval(input())#矩阵元素大小上限

#生成随机矩阵保存为文件
f1 = open('matrix.txt','w')
anl = []
for i in range(10):
    nl = []
    for j in range(10):
        nl.append(str(randint(a,b)))
    anl.append( ' '.join(nl)+'\n')
f1.writelines(anl)
f1.close()

#另存为CSV文件
f1 = open('matrix.txt','r')
with open('matrix.csv','w') as f2:
    for line in f1.readlines():
        f2.write(line.replace(' ',','))

**0704. **编写一个程序,读取一个源代码文件,将文件中所有除保留字外的小写字母换成大写字母,生成后的文件要能够被Pyhon解释器正确执行。

**0705. **编写一个程序,要求能够将元素为任意Python支持的类型(包括含有半角逗号的字符串)的列表转储为CSV,并能够重新正确解析为列表。

#0705
#将列表转储为CSV
import pandas as pd
nt = eval(input())
text = pd.DataFrame(data=nt)
text.to_csv('csvfile.csv',header=0,index=0)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值