运行成功但是没出现新文件,保存地址换了好几个了也没用
import pandas as pd# 读取Excel文件
input_file_path = r'C:\Users\Administrator\Desktop\论文1综述\知网802.xls'
output_file_path = r'C:\Users\Administrator\Desktop\论文1综述'
try:
df = pd.read_excel(input_file_path)
print(f"成功读取文件:{input_file_path}")
except Exception as e:
print(f"读取文件时发生错误:{e}")
exit()
# 提取Keyword-关键词列和Year-年列
try:
keywords = df['Keyword-关键词']
years = df['Year-年']
print("成功提取关键词和年份列")
except Exception as e:
print(f"提取列时发生错误:{e}")
exit()
# 初始化字典来存储关键词及其出现次数和年份列表
keyword_data = {}
# 遍历每行数据
for index, (keyword_str, year) in enumerate(zip( 你遇到的问题是代码没有完成,导致你得不到期望的输出。下面是一些可能导致问题的地方,以及修正的建议:
1. **读取和提取数据**:你正在尝试从`pandas`的`DataFrame`中提取关键词和年份,但没有指定具体的列名。目前的代码只初始化了两个变量,没有对具体的列进行任何操作或过滤。
keywords = df['Keyword-关键词']# 假设你的Excel文件中这一列的名称
years = df['Year-年'] # 同理,此列的名称
2. **缺少完整的遍历逻辑**:你的代码在`for`循环中结束了,这是因为缺少了遍历过程和最终的文件保存代码。遍历数据并保存到新文件的标准方法如下:
for index, row in df.iterrows():
keyword_str = row['Keyword-关键词']# 确保列名正确
year = row['Year-年']
if pd.notna(keyword_str):
keyword_list = # 假设关键词以分号分隔
for keyword in keyword_list:
if keyword in keyword_data:
keyword_data['count'] += 1
keyword_data['years'].append(year)
else:
keyword_data = {'count': 1, 'years': }
3. **存储数据到文件**:将整理好的数据保存到一个新的Excel或CSV文件中,如果目标是文件输出,需要补充以下代码:
output_df = pd.DataFrame([
{'Keyword': k, 'Count': v['count'], 'Years': ','.join(map(str, v['years']))}
for k, v in keyword_data.items()
])
try:
output_file = output_file_path + r'\keyword_analysis.xlsx'# 保存路径和文件名
output_df.to_excel(output_file, index=False)
print(f"分析结果已保存到:{output_file}")
except Exception as e:
print(f"保存文件时发生错误:{e}")
确保你在代码中替换了正确的列名和路径。运行代码后,检查目标文件夹下是否有生成的新文件。是否能成功提取并保存数据还取决于输入文件的格式和内容,所以可以先逐步测试。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 这也没看到你哪里有生成文件的代码呀
页:
[1]