第一题 文件行数
描述
打印输出附件文件的有效行数,注意:空行不计算为有效行数。
代码如下
fo = open("latex.log","r")
t =0
for item in fo:
item = item.strip('\n')
if item=='':
continue
t+=1
print("共{}行".format(t))
第二题 文件字符分布
描述
统计附件文件的小写字母a-z的字符分布,即出现a-z字符的数量,并输出结果。
同时请输出文件一共包含的字符数量。
注意输出格式,各元素之间用英文逗号(,)分隔。
答案可能包含a-z共26个字符的分布,如果某个字符没有出现,则不显示,输出顺序a-z顺序。
代码如下
fo = open("latex.log","r")
t =0
lt = {}
for item in fo:
for j in item:
t+=1
if j>='a'and j<='z':
lt[j] = lt.get(j,0)+1
items = list(lt.items())
print("共{}字符".format(t),end = '')
items.sort(key=lambda x:x[0],reverse = False)
for item in items:
print(",{}:{}".format(item[0],item[1]),end = '')
第三题 文件独特行数
描述
统计附件文件中与其他任何其他行都不同的行的数量,即独特行的数量。
代码如下
f = open("latex.log")
txt = f.readlines( )
tx = set(txt)
t = len(tx)
for i in tx:
txt.remove(i)
fuck = set(txt)
print("共{}独特行".format(t-len(fuck)))
第四题 CSV格式列变换
描述
附件是一个CSV文件,请将每行按照列逆序排列后输出,不改变各元素格式(如周围空格布局等)。
代码如下
f = open("data.csv")
lt = f.readlines( )
for item in lt:
item = item.strip('\n')
item = item.split(',')
item = item[::-1]
print(','.join(item))
第五题 CSV格式数据清洗
描述
附件是一个CSV文件,其中每个数据前后存在空格,请对其进行清洗,要求如下:
(1)去掉每个数据前后空格,即数据之间仅用逗号(,)分割;
(2)清洗后打印输出。
代码如下
f = open("data.csv")
lt = f.readlines( )
for item in lt:
item = item.strip('\n')
item = item.replace(" ","")
item = item.split(',')
print(','.join(item))