实验四
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)


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

浙公网安备 33010602011771号