在deepseek中输入提示词:
你是一个Python编程专家,要完成一个Python脚本,完成任务如下:
读取文件:"D:\参考文献.xlsx"
删除第一列所有单元格内容前面的空格,比如这个:“ Vernon Bogdanor (eds.), The Blackwell Encyclopaedia of Political Science, Oxford: Basil Blackwell, 1991, pp. 31.”,删除空格后为:“Vernon Bogdanor (eds.), The Blackwell Encyclopaedia of Political Science, Oxford: Basil Blackwell, 1991, pp. 31.”;
删除第一列所有单元格内容尾部含有“pp”的部分,比如:“Alexander Dugin, Eurasian Mission: An Introduction to Neo-Eurasianism, London: Arktos, 2014, pp. 1.”,应该删除掉“, pp. 1.”;
删除第一列所有单元格内容尾部含有“p”的部分,比如:“ Samuel Huntington, American Politics: The Promise of Disharmony, Cambridge: The Belknap Press, 1981, p. 121.“应该删除掉“, p. 121.”;
注意:每一步都要输出信息到屏幕上
源代码生成如下:
import pandas as pd
def process_excel_file(file_path):
df = pd.read_excel(file_path, engine='openpyxl')
print(f"成功读取文件: {file_path}")
first_column = df.iloc[:, 0]
print(f"第一列共有 {len(first_column)} 个单元格。")
first_column = first_column.apply(lambda x: x.lstrip() if isinstance(x, str) else x)
print("已删除第一列所有单元格内容前面的空格。")
first_column = first_column.apply(lambda x: x.rsplit(', pp.', 1)[0] if isinstance(x, str) and ', pp.' in x else x)
print("已删除第一列所有单元格内容尾部含有“pp”的部分。")
first_column = first_column.apply(lambda x: x.rsplit(', p.', 1)[0] if isinstance(x, str) and ', p.' in x else x)
print("已删除第一列所有单元格内容尾部含有“p”的部分。")
df.iloc[:, 0] = first_column
df.to_excel(file_path, index=False, engine='openpyxl')
print(f"文件已保存: {file_path}")
if __name__ == "__main__":
file_path = r"D:\参考文献.xlsx"
process_excel_file(file_path)
运行结果如上