实验四

1.

with open('data1_1.txt', 'r', encoding='utf-8') as f:
      data = f.readlines()
n = 0
for line in data:
      if line.strip('\n') == '':
        continue
      n += 1
print(f'共{n}行')

  

with open('data1_1.txt', 'r', encoding = 'utf-8') as f:
  n = 0
  for line in f:
    if line.strip('\n') == '':
      continue
    n += 1
print(f'共{n}行')

  

with open('data1_2.txt', 'r', encoding = 'utf-8') as f:
  n = 0
  for line in f:
    if line.strip() == '':
      continue
    n += 1
print(f'共{n}行')

  

with open('data1_2.txt', 'r', encoding='utf-8') as f:
  n = 0
  for line in f:
        if line.isspace():
           continue
        n += 1
print(f'共{n}行')

  

2.

with open('data2.txt', 'r', encoding='utf-8') as f:
       data = f.read().split('\n')
unique_line = []
for line in data:
      if data.count(line) == 1:
             unique_line.append(line)
print(f'共{len(unique_line)}独特行')
for i in unique_line:
       print(i)

  

3.

ls = [ ['城市', '大致人口'],
   ['南京', '850万'],
   ['纽约', '2300万'],
   ['东京', '3800万'],
   ['巴黎', '1000万'] ]
with open('data3.csv', 'w', encoding = 'utf-8') as f:
  for line in ls:
    data = ','.join(line) + '\n'
    f.write(data)
# 从data3.csv中读出数据,把逗号替换成\t, 分行打印输出到屏幕上
with open('data3.csv', 'r', encoding = 'utf-8') as f:
  data = f.read()
print(data.replace(',', '\t'), end = '')

  

4.

import csv
ls = [ ['城市', '大致人口'],
   ['南京', '850万'],
   ['纽约', '2300万'],
   ['东京', '3800万'],
   ['巴黎', '1000万'] ]
with open('data4.csv', 'w', encoding = 'utf-8', newline='') as f:
  writer = csv.writer(f)
  writer.writerows(ls)
# 从data4.csv中读出数据,把逗号替换成\t, 分行打印输出到屏幕上
with open('data4.csv', 'r', encoding = 'utf-8') as f:
  reader = csv.reader(f) # 使用csv模块的reader类创建对象
  for line in reader:
   print('\t'.join(line))

  

6.

with open('data6_1.txt', 'r', encoding = 'utf-8') as f:
    x = []
    data = f.readlines()
    for i in data:
        x.append(i.strip().split())
f = lambda x:x[2]
x.sort(key=f,reverse=True)

with open('data6_2.txt','w',encoding='utf-8') as fn:
    for j in x:
        data1 = ' ' .join(j)
        data2 = ' '.join(j) + '\n'
        print(data1)
        fn.write(data2)

  

7.1

z = []
with open('data7.txt', 'r') as f:
    data = f.readlines()
    x = input('输入随机抽点人数:')
    import random
    i = 0
    while i<int(x):
        y = random.choice(data)
        i = i+1
        z.append(y)
        print(y.strip())

with open('lucky.txt','w') as fn:
    for j in z:
        k = ''.join(j)
        fn.write(k)

  

7.2

z = []
with open('data7.txt', 'r') as f:
    data = f.readlines()
    x = input('输入随机抽点人数:')
    import random
    i = 0
    while i<int(x):
        y = random.choice(data)
        i = i+1
        z.append(y)
        print(y.strip())
import datetime
t = datetime.datetime.now()
with open(t.strftime('%Y%m%d')+'.txt','w') as fn:
    for j in z:
        k = ''.join(j)
        fn.write(k)

  

总结:此次任务让我更深入的了解和文件相关的各种代码,面对问题,会有些对前面知识的遗忘,需要查找相关的资料才能完成此次任务。仍会有些代码的逻辑掌握不清,在面对稍微复杂的问题束手无策,以后需要更多的学习来提升自己。

posted @ 2021-05-13 18:06  谢尔比  阅读(58)  评论(0)    收藏  举报