对调查问卷结果实现统计,并将结果写入csv文件 【问题描述】为了监督饮食质量,食堂向学生发起了一次问卷调查,请大家在“非常满意”、“满意”、“一般”、“不满意”中选择一个评语评价食堂当天的饮食情况,评价结果存在文件“result.txt”中,请编程实现统计各个评语出现的次数,并将统计结果保存到同目录下的"result.csv"文件中。
时间: 2023-12-26 17:04:34 浏览: 25
好的,下面是代码实现:
```python
import csv
# 读取文件
with open('result.txt', 'r') as f:
data = f.readlines()
# 统计各个评语出现的次数
counts = {'非常满意': 0, '满意': 0, '一般': 0, '不满意': 0}
for line in data:
line = line.strip()
if line in counts:
counts[line] += 1
# 将统计结果保存到csv文件中
with open('result.csv', 'w', newline='') as f:
writer = csv.writer(f)
writer.writerow(['评语', '次数'])
for k, v in counts.items():
writer.writerow([k, v])
```
这段代码首先通过`with open('result.txt', 'r') as f:`将文件打开并读取其中的内容,然后使用一个字典`counts`统计每个评语出现的次数。最后,使用`csv`模块将统计结果写入到`result.csv`文件中。
相关问题
【问题描述】为了监督饮食质量,食堂向学生发起了一次问卷调查,请大家在“非常满意”、“满意”、“一般”、“不满意”中选择一个评语评价食堂当天的饮食情况,评价结果存在文件“result.txt”中,请编程实现统计各个评语出现的次数,并将统计结果保存到同目录下的"result.csv"文件中。 result.txt 【输入形式】 文件输入(无法预览txt文件,请通过右键复制链接下载) 【输出形式】 保存到result.csv文件中(数据写入的编码格式为gbk)
这是一道文件读写和数据处理的综合题,Python代码如下:
```python
# 打开result.txt文件并读取内容
with open('result.txt', 'r', encoding='utf-8') as f:
lines = f.readlines()
# 统计各个评语出现的次数
counts = {'非常满意': 0, '满意': 0, '一般': 0, '不满意': 0}
for line in lines:
line = line.strip()
if line in counts:
counts[line] += 1
# 将统计结果保存到result.csv文件中
with open('result.csv', 'w', encoding='gbk') as f:
f.write('评语,出现次数\n')
for key, value in counts.items():
f.write(key + ',' + str(value) + '\n')
```
上述代码中,我们首先打开result.txt文件并读取其中的内容,然后统计各个评语出现的次数。为了方便统计,我们使用一个字典counts来存储各个评语出现的次数。接着,我们将统计结果保存到result.csv文件中。需要注意的是,我们需要在写入csv文件之前先写入表头,即“评语,出现次数”,并且需要指定数据写入的编码格式为gbk。
读取一次问卷调查的结果文件,该文件中包含四种类型的评语,分别为“很满意”、“满意”、“一般”和“不满意”,统计各评语出现的次数,并将最终统计结果追加到原文件
好的,针对您的问题,我可以提供以下的解决方案:
首先,我们需要读取问卷调查的结果文件,假设这个文件的路径为`survey_results.txt`。我们可以使用Python的内置函数`open()`和`readlines()`来读取文件中的每一行数据,并将其存储到一个列表中。代码如下:
```python
with open('survey_results.txt', 'r') as f:
lines = f.readlines()
```
接下来,我们可以使用一个字典来统计每种评语出现的次数。代码如下:
```python
count = {'很满意': 0, '满意': 0, '一般': 0, '不满意': 0}
for line in lines:
if '很满意' in line:
count['很满意'] += 1
elif '满意' in line:
count['满意'] += 1
elif '一般' in line:
count['一般'] += 1
elif '不满意' in line:
count['不满意'] += 1
```
最后,我们可以将统计结果追加到原文件中,代码如下:
```python
with open('survey_results.txt', 'a') as f:
f.write('\n统计结果:\n')
for key, value in count.items():
f.write(key + ': ' + str(value) + '\n')
```
以上代码将统计结果以一定格式写入到原文件的末尾。注意,在使用`open()`函数时,需要指定文件的打开模式为`'a'`,以便将结果追加到文件末尾而不是覆盖原有内容。
希望以上的解决方案能够帮助您解决问题,如有任何疑问或需要进一步帮助,请随时联系我。