统计一个文件中各个字母出现次数

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;

/** 
* @author  万星明
* @version 创建时间:2018年10月19日 下午4:32:00 
* 3、统计一个文件xxxx.txt中各个字母出现次数:
* 	   例如(A(8),B(16),C(10)...,a(12),b(10),c(3)....,括号内代表字符出现次数; 

*/
public class Test3 {

	public static void main(String[] args) throws Exception {
		BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("c.txt")));
		int[] count  = new int[26];
		int[] COUNT  = new int[26];
	
		char[] c = new char[1];
		int len = br.read(c);
		while(len!=-1) {
			
			if(c[0]<='Z'&&c[0]>='A') {
				int number = c[0];
				COUNT[number-65]++;
			}
			if(c[0]<='z'&&c[0]>='a') {
				int number = c[0];
				count[number-97]++;
			}
			len = br.read(c);
		}
		Print(count, COUNT);
		System.out.print("\nb.txt文件读取完毕&#x
### 回答1: 我可以提供一个简单的Python程序:import csv with open('Problem_C_Data_Wordle.csv', 'r') as csv_file: csv_reader = csv.reader(csv_file) next(csv_reader) for line in csv_reader: word = line[1] word_counts = {} for character in word: if character not in word_counts: word_counts[character] = 1 else: word_counts[character] += 1 line.append(str(word_counts)) print(line) ### 回答2: 可以使用Python的pandas库来实现这个程序。 首先,导入pandas库和读取csv文件: ```python import pandas as pd df = pd.read_csv('Problem_C_Data_Wordle.csv') ``` 然后,通过访问DataFrame的"Word"列来获取单词: ```python words = df['Word'] ``` 接下来,可以使用一个循环遍历每个单词,并统计每个字母出现次数: ```python for word in words: letter_count = {} for letter in word: if letter in letter_count: letter_count[letter] += 1 else: letter_count[letter] = 1 # 将统计结果输出到对应行 index = words[words == word].index[0] df.loc[index, 'Letter_count'] = str(letter_count) ``` 最后,将统计结果保存到新的csv文件: ```python df.to_csv('Problem_C_Data_Wordle_with_count.csv', index=False) ``` 完整的程序代码如下: ```python import pandas as pd df = pd.read_csv('Problem_C_Data_Wordle.csv') words = df['Word'] for word in words: letter_count = {} for letter in word: if letter in letter_count: letter_count[letter] += 1 else: letter_count[letter] = 1 index = words[words == word].index[0] df.loc[index, 'Letter_count'] = str(letter_count) df.to_csv('Problem_C_Data_Wordle_with_count.csv', index=False) ``` 注意:该程序假设'Problem_C_Data_Wordle.csv'文件的'Word'列名是"Word",并且使用"Problem_C_Data_Wordle_with_count.csv"文件保存结果。 ### 回答3: 请见以下Python程序: ```python import csv from collections import Counter # 打开CSV文件 with open('Problem_C_Data_Wordle.csv', 'r', encoding='utf8') as file: reader = csv.reader(file) header = next(reader) # 读取表头 # 获取Word列的索引 word_index = header.index('Word') # 创建一个空字典,用来保存字母出现次数 letter_counts = {} # 遍历每一行数据 for row in reader: # 获取当前行的Word值 word = row[word_index] # 统计当前单词各个字母出现次数 counts = dict(Counter(word)) # 将字母出现次数保存到letter_counts字典 letter_counts[word] = counts # 将字母出现次数写入到CSV文件 with open('Problem_C_Data_Wordle.csv', 'r', encoding='utf8') as file: lines = file.readlines() with open('Problem_C_Data_Wordle.csv', 'w', encoding='utf8') as file: writer = csv.writer(file) writer.writerow(header) # 写入表头 for line in lines[1:]: # 遍历除表头外的每一行 row = line.strip().split(',') word = row[word_index] # 获取当前单词的字母出现次数 counts = letter_counts[word] # 将字母出现次数添加到当前行 for letter, count in counts.items(): row.append(count) writer.writerow(row) print("字母出现次数已成功写入文件!") ``` 以上代码将读取 `Problem_C_Data_Wordle.csv` 文件的 "Word" 列所对应的单词,并统计每个单词各个字母出现次数。最后,将字母出现次数依次插入到原CSV文件的每一行,并输出到文件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值