# 2.写入TXT文件
# 学生体质报告字串写入文件
myFile = open('report.txt', 'w', encoding='UTF-8')
myFile.write('学生体质健康调查报告')
myFile.close()
print('文件写入成功!')
文件写入成功!
# 3.读取TXT文件
# 学生体质报告字串读取
myFile = open('report.txt', 'r', encoding='UTF-8')
print(myFile.read())
myFile.close()
学生体质健康调查报告
with open('report.txt', 'w') as myFile:
myFile.write('调查统计报告')
print('文件写入成功!')
文件写入成功!
# 参考程序
lst = ['引言.txt','调查数据分析.txt','近视四大诱因.txt','五大举措.txt']
file = open('调查报告.txt', 'w', encoding='UTF-8')
for filename in lst:
f = open(filename, 'r', encoding='UTF-8')
file.write(f.read())
f.close()
file.close()
print('报告生成完毕!')
报告生成完毕!
# 3. 写入CSV文件
# 导入CSV模块
import csv
# 用列表定义CSV文件的表头字段信息
headers = ['number','age','sex','Q1','Q2','Q3']
# 用列表定义CSV文件各条记录中的数据
rows = [('1','14','男','A','A','C'),
('2','14','女','B','B','D'),
('3','13','男','A','A','C'),
('4','14','男','C','A','C'),
('5','14','女','A','A','D')]
# 在with语句下,用open函数以只写模式打开CSV文件并创建文件对象实例
# myFile,其中“newline=''参数是用来自动识别并解析CSV文件中各种换
# 行符。
with open('investigate.csv','w', newline='') as myFile:
# 为myFile创建一个writer类的对象实例
myWriter = csv.writer(myFile)
# 在writer类对象实例中单行写入表头信息
myWriter.writerow(headers)
# 在writer类对象实例中写入多行的数据记录
myWriter.writerows(rows)
# 提示用户写入成功
print('文件写入成功!')
文件写入成功!
# 3.写入CSV文件-DictWriter类实现
# 导入CSV模块
import csv
# 用列表定义CSV文件的表头字段信息
header = ['number','age','sex','Q1','Q2','Q3']
# 用字典定义CSV文件中各条记录数据
dict1 = {'number':'1','age':'14','sex':'男','Q1':'A','Q2':'A','Q3':'C'}
dict2 = {'number':'2','age':'14','sex':'女','Q1':'B','Q2':'B','Q3':'D'}
dict3 = {'number':'3','age':'13','sex':'男','Q1':'A','Q2':'A','Q3':'C'}
dict4 = {'number':'4','age':'14','sex':'男','Q1':'C','Q2':'A','Q3':'C'}
dict5 = {'number':'5','age':'14','sex':'女','Q1':'A','Q2':'A','Q3':'D'}
# 在with语句下,用open函数以只写模式打开CSV文件,并创建文件对象实例myFile
with open('investigate.csv', 'w', newline='') as myFile:
# 创建一个DictWriter类的对象实例
myDictwriter = csv.DictWriter(myFile, fieldnames=header)
# 写入表头字段信息
myDictwriter.writeheader()
# writerow每次写入一行
myDictwriter.writerow(dict1)
# writerows多行写入
myDictwriter.writerows([dict2, dict3, dict4, dict5])
#提示用户写入成功
print('文件写入成功!')
文件写入成功!
# 4.读取CSV文件
#导入CSV模块
import csv
# 用open函数以只读模式打开CSV文件,并创建文件对象实例myFile
with open ('investigate.csv', 'r') as myFile :
# 创建一个reader类的对象实例
csvReader = csv.reader(myFile)
# 以列表形式遍历输出reader类对象实例中所有数据
for row in csvReader :
print(row)
['number', 'age', 'sex', 'Q1', 'Q2', 'Q3'] ['1', '14', '男', 'A', 'A', 'C'] ['2', '14', '女', 'B', 'B', 'D'] ['3', '13', '男', 'A', 'A', 'C'] ['4', '14', '男', 'C', 'A', 'C'] ['5', '14', '女', 'A', 'A', 'D']
# 4.读取CSV文件 - DictReader方法
# 导入CSV模块
import csv
# 用open函数以只读模式打开CSV文件,并创建文件对象实例myFile
with open ('investigate.csv', 'r') as myFile :
# 创建一个DictReader类的对象实例
dictReader = csv.DictReader(myFile)
# 遍历输出DictReader类对象实例中所有字典数据
for row in dictReader:
print(row)
{'number': '1', 'age': '14', 'sex': '男', 'Q1': 'A', 'Q2': 'A', 'Q3': 'C'} {'number': '2', 'age': '14', 'sex': '女', 'Q1': 'B', 'Q2': 'B', 'Q3': 'D'} {'number': '3', 'age': '13', 'sex': '男', 'Q1': 'A', 'Q2': 'A', 'Q3': 'C'} {'number': '4', 'age': '14', 'sex': '男', 'Q1': 'C', 'Q2': 'A', 'Q3': 'C'} {'number': '5', 'age': '14', 'sex': '女', 'Q1': 'A', 'Q2': 'A', 'Q3': 'D'}
# 本代码只用于教师生成9个模拟数据
import random
import csv
def one(n):
dict1 = { }
dict1['number'] = str(n)
dict1['age'] = random.choice([13,14,15,16])
dict1['sex'] = random.choice(['男', '女'])
dict1['Q1'] = random.choice(['A','B','C', 'D'])
dict1['Q2'] = random.choice(['A','B','C', 'D'])
dict1['Q3'] = random.choice(['A','B','C', 'D'])
return dict1
def much(n1, n2):
lst = []
for i in range(n1, n2+1):
lst.append(one(i))
return lst
def oneFile(filename, lst):
# 用列表定义CSV文件的表头字段信息
header = ['number','age','sex','Q1','Q2','Q3']
# 在with语句下,用open函数以只写模式打开CSV文件,并创建文件对象实例myFile
with open(filename, 'w', newline='') as myFile:
# 创建一个DictWriter类的对象实例
myDictwriter = csv.DictWriter(myFile, fieldnames=header)
# 写入表头字段信息
myDictwriter.writeheader()
# writerow每次写入多行
myDictwriter.writerows(lst)
#提示用户写入成功
print('{}文件生成成功!'.format(filename))
myList = [('investigate{}.csv'.format(i),((i-1)*100+1, i*100+1)) for i in range(1,10)]
for item in myList:
oneFile(item[0], much(item[1][0], item[1][1]))
investigate1.csv文件生成成功! investigate2.csv文件生成成功! investigate3.csv文件生成成功! investigate4.csv文件生成成功! investigate5.csv文件生成成功! investigate6.csv文件生成成功! investigate7.csv文件生成成功! investigate8.csv文件生成成功! investigate9.csv文件生成成功!
# 参考程序
import csv
# 打开写入文件并写入表头
header = ['number','age','sex','Q1','Q2','Q3']
file = open('investigate0.csv', 'w', newline='')
myDictwriter = csv.DictWriter(file, fieldnames=header)
myDictwriter.writeheader()
# 读取每个文件并写入
for i in range(1, 10):
with open ('investigate{}.csv'.format(i), 'r') as myFile :
dictReader = csv.DictReader(myFile)
myDictwriter.writerows(dictReader)
print('investigate{}.csv文件读取并写入成功!'.format(i))
# 关闭写入文件
file.close()
print('合并完成!')
investigate1.csv文件读取并写入成功! investigate2.csv文件读取并写入成功! investigate3.csv文件读取并写入成功! investigate4.csv文件读取并写入成功! investigate5.csv文件读取并写入成功! investigate6.csv文件读取并写入成功! investigate7.csv文件读取并写入成功! investigate8.csv文件读取并写入成功! investigate9.csv文件读取并写入成功! 合并完成!