|
发表于 2024-3-31 19:01:07
|
显示全部楼层
如果你想对这段代码进行续写,你可以在`InsertCsv`类中添加一个新的方法来实现你的需求。下面是一个示例代码,展示了如何根据输入的关键字筛选数据并将结果写入Excel文件:
- class InsertCsv:
- def __init__(self):
- self.csv_path = os.path.join(os.getcwd(), "csv")
-
- def insert(self, df):
- self.file, self.min, self.max, self.sum = df
- self.year = str(self.max) + ".xlsx"
- self.file_path = os.path.join(self.csv_path, self.year)
- self.is_file_exist()
-
- if not os.path.isfile(self.file_path):
- # 文件不存在,创建新文件并写入数据
- self.file.to_excel(self.file_path, sheet_name="Sheet1", index=False, encoding="utf-8")
- else:
- # 文件已存在,打开文件追加数据
- writer = pd.ExcelWriter(self.file_path, mode='a', engine='openpyxl')
- writer.book = openpyxl.load_workbook(self.file_path)
- writer.sheets = dict((ws.title, ws) for ws in writer.book.worksheets)
- self.file.to_excel(writer, sheet_name="Sheet1", index=False, encoding="utf-8", startrow=self.get_last_row())
- writer.save()
- writer.close()
-
- def is_file_exist(self):
- if not os.path.isdir(self.csv_path):
- os.makedirs(self.csv_path)
-
- def get_last_row(self):
- wb = openpyxl.load_workbook(self.file_path)
- sheet = wb['Sheet1']
- return sheet.max_row + 1
-
- def filter_data(self, keyword):
- df_filtered = self.file[self.file['绰号'].str.contains(keyword)]
- return df_filtered
- # 示例使用
- insert_csv = InsertCsv()
- # 假设你有一个名为"df"的pandas DataFrame
- filtered_df = insert_csv.filter_data("小")
- # 将筛选后的结果插入Excel文件
- insert_csv.insert(filtered_df)
复制代码
在上面的代码中,我在`InsertCsv`类中添加了一个名为`filter_data`的方法。这个方法接收一个关键字作为参数,根据关键字筛选数据,并返回筛选后的DataFrame。然后,我们可以使用`insert`方法将筛选结果插入到Excel文件中。
希望这次回答能够帮到你,如果还有其他问题,请随时追问。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 |
|