#p3jiqh003. Python3级考前强化练习3-csv文件专题

Python3级考前强化练习3-csv文件专题

一、选择题(共10题,每题10分,共100分)

1.要读取下图“书目.csv”文件的全部内容,小明编写了后面4行代码。请问,红色①处,应该填写哪种打开模式?( )

f = open("书目.csv" , ① )
a = f.read()
print(a)
f.close

{{ select(1) }}

  • "w"
  • "a"
  • "r"
  • "a+"

2下列程序将建立一个CSV格式文件,划线处正确的代码选项应该为?( )

a=['老虎','狗','大象','牛']
f=open('动物.CSV',______)
f.write(','.join(a)+'\n')
f.close()

{{ select(2) }}

  • 'W'
  • 'R'
  • 'w'
  • 'r'

3.如果要设计班级通讯录管理功能,需要往address.csv文件中追加新记录,则应该使用以下哪一种打开文件的方式?( )

{{ select(3) }}

  • open('address.csv','a+')
  • open('address.csv','w+')
  • open('address.csv','wb+')
  • open('address.csv','rb+')

4.下面程序生成CSV格式文件:

王鑫,86,90,92,99,94,95
杨小虹,93,97,95,90,86,85
李静,89,98,99,94,90,85

程序如下:

a=[['王鑫','86','90','92','99','94','95'],['杨小虹','93','97','95','90','86','85'],['李静','89','98','99','94','90','85']]
f=open('成绩.CSV','w')
for i in a:
    f.write(','.join(i)+______)
f.close()

划线处的代码应该为?( )

{{ select(4) }}

  • 'r'
  • 'w'
  • '\t'
  • '\n'

5.下图左边的“身体素质.csv”文件,要打印成下图右边的效果,每个字段之间相隔一个TAB键的距离。小明编写了如下代码,请选择:代码中横线处的内容?( )

f = open('身体素质.csv', 'r')
a = []
for i in f:
    a.append(i.strip('\n').split(','))
f.close()
for x in a:
    line=''
    for y in x:
        line += '{ }________'.format(y)
    print(line)

{{ select(5) }}

  • \t
  • \n
  • n
  • \r

6.动物.CSV的文件内容如下:'老虎', '狗', '大象', '牛',下列程序从该CSV文件读出数据,并输出列表格式,划线处正确的代码选项应该为?( )

f=open('动物.CSV','r')
a=f.read().strip().split(______)
f.close()
print(a)

{{ select(6) }}

  • ','
  • ','
  • '\n'
  • '\t'

7.下图所示,有一个名为"书目.csv"的文件。小明针对这个文件编写了5行代码, 请问,代码运行到最后打印在屏幕上的结果是?( )

with open('书目.csv', 'r', encoding='utf-8') as f:
    for line in f.readlines():
        a = line.split(",")
        if a[0] == "水浒传" :
            print(a[1])

{{ select(7) }}

  • 老残游记
  • 172
  • 55
  • 70

8.一个“成绩.CSV”文件(用“记事本”打开)如下:

王鑫,86,90,92,99,94,95
杨小虹,93,97,95,90,86,85
李静,89,98,99,94,90,85

下面程序执行结果是?( )

f=open('成绩.CSV','r')
a=[]
for i in f:
    a.append(i.strip().split(','))
f.close()
print(a)

{{ select(8) }}

  • [['王鑫', '86', '90', '92', '99', '94', '95'], ['杨小虹', '93', '97', '95', '90', '86', '85'], ['李静', '89', '98', '99', '94', '90', '85']]
  • [['王鑫', '86', '90', '92', '99', '94', '95\n'], ['杨小虹', '93', '97', '95', '90', '86', '85\n'], ['李静', '89', '98', '99', '94', '90', '85\n']]
  • [['王鑫,86,90,92,99,94,95'], ['杨小虹,93,97,95,90,86,85'], ['李静,89,98,99,94,90,85']]
  • ['王鑫,86,90,92,99,94,95\n', '杨小虹,93,97,95,90,86,85\n', '李静,89,98,99,94,90,85\n']

9.对于CSV格式数据文件,下列描述错误的是?( )

{{ select(9) }}

  • CSV文件使用逗号分隔值。
  • CSV文件的扩展名为.CS。
  • CSV格式是一种通用的,相对简单的文件格式。
  • “记事本”和“Excel”可直接读入和保存CSV格式文件。

10.“有一个名为“身体素质.csv”的文件,内容为学生的姓名、身高和体重,文件内容如下:

李四,127,32
王五,131,34
赵六,129,33

小明想编写代码,在整个文件的首行,插入数据“张三,133,36”,他编写了如下代码,请判断,代码能正确运行吗?( )

f = open('身体素质.csv', 'a')
f.seek(0,0)  #用seek()方法,将文件指针移动到整个文件的最前面。
f.write('张三,133,36\n')
f.close()

{{ select(10) }}