我的代码 # 将随机生成的数据写入 Excel 文件中 for n, sheet in enumerate(rb.sheets()): start_row = 14 # 修改起始行数 for row_data in rows: start_col = 2 # 修改起始列数 for col_idx, cell_data in enumerate(row_data): style = style_list[sheet.cell_xf_index(start_row - 1, start_col - 1)] # 在身份证号码后提取需要解析的部分 if col_idx == 3: worksheet.write(start_row, start_col, xlwt.Formula( '=IF(ISERROR(IF(LEN(E{0})=18,DATE(MIDB(E{0},7,4),MIDB(E{0},11,2),MIDB(E{0},13,2)),DATE(MIDB(E{0},7,2),MIDB(E{0},9,2),MIDB(E{0},11,2)))),"",IF(LEN(E{0})=18,DATE(MIDB(E{0},7,4),MIDB(E{0},11,2),MIDB(E{0},13,2)),DATE(MIDB(E{0},7,2),MIDB(E{0},9,2),MIDB(E{0},11,2)))'.format( start_row + 1)), style) elif col_idx == 4: cell_data = f'=IF(RIGHT(E{start_row + 1},1)%2=0,"女","男")' worksheet.write(start_row, start_col, cell_data, style) worksheet.write(start_row, start_col, cell_data, style) # 修改写入位置 # # 第六列数据格式设置日期 # if start_col == 5: # worksheet.write(start_row, start_col, datetime.strptime(cell_data, "%Y/%m/%d")) start_col += 1 start_row += 1
时间: 2024-04-23 19:23:15 浏览: 128
这段代码是用于将随机生成的数据写入 Excel 文件中的。首先,使用 `enumerate` 函数遍历 Excel 文件中的所有表格。然后,使用嵌套的循环遍历每个表格中的每一行和每一列,将生成的数据写入 Excel 文件中的相应单元格中。在写入某些单元格时,使用了 Excel 公式来计算数据,例如在第 3 列中提取身份证号码并计算出生日期,以及在第 4 列中根据身份证号码判断性别。
需要注意的是,这段代码使用了 `xlwt` 库来写入 Excel 文件,而 `xlwt` 库是用于写入 Excel 2003 格式的。如果您需要写入 Excel 2007 及以上版本的文件,可以考虑使用 `openpyxl` 或 `xlsxwriter` 等库。
相关问题
# 创建工作簿和工作表 workbook = openpyxl.Workbook() sheet = workbook.active # 从文本框和下拉框中获取数据,并按列写入Excel文件 rows = self.textbox.get("1.0", "end").split("\n") for row_index, row in enumerate(rows): if not row.strip(): continue cells = row.split("\t") for cell_index, cell in enumerate(cells): if cell_index > sheet.max_column - 1: sheet.cell(row=row_index + 1, column=cell_index + 1, value=cell) else: sheet.cell(row=row_index + 1, column=cell_index + 1).value = cell for widget_index, widget in enumerate(self.textbox.winfo_children()): if isinstance(widget, tk.ttk.Combobox) and widget_index == row_index: sheet.cell(row=row_index + 1, column=len(cells) + 1, value=widget.get()) # 保存Excel文件 workbook.save(r"D:\點檢系統存放資料夾\點檢明細\1.xlsx")修改這段代碼中如果沒有日志框數據就跳過寫入
可以在循环内部添加一个判断,如果当前行为空行,则跳过写入Excel文件的操作。修改后的代码如下:
```
workbook = openpyxl.Workbook()
sheet = workbook.active
rows = self.textbox.get("1.0", "end").split("\n")
for row_index, row in enumerate(rows):
if not row.strip():
continue # 当前行为空行,跳过写入Excel文件的操作
cells = row.split("\t")
for cell_index, cell in enumerate(cells):
if cell_index > sheet.max_column - 1:
sheet.cell(row=row_index + 1, column=cell_index + 1, value=cell)
else:
sheet.cell(row=row_index + 1, column=cell_index + 1).value = cell
for widget_index, widget in enumerate(self.textbox.winfo_children()):
if isinstance(widget, tk.ttk.Combobox) and widget_index == row_index:
sheet.cell(row=row_index + 1, column=len(cells) + 1, value=widget.get())
workbook.save(r"D:\點檢系統存放資料夾\點檢明細\1.xlsx")
```
mport pandas as pd # 创建一个写入器对象,用于将数据帧写入Excel文件 writer = pd.ExcelWriter('描述统计信息.xlsx') # 循环遍历每个数据帧,将每个数据帧的描述统计信息写入Excel文件 for i, df in enumerate(dfs): df_desc = df.describe() sheet_name = '描述统计信息{}'.format(i+1) df_desc.to_excel(writer, sheet_name=sheet_name) print(df_desc) # 保存Excel文件并关闭写入器对象 writer.save() writer.close()如何保存到表格
这段代码是将多个数据帧的描述统计信息写入一个 Excel 文件的过程,并最终保存该 Excel 文件。如果您想要将单个数据帧保存到 Excel 文件中,可以使用以下代码:
```python
import pandas as pd
# 创建一个数据帧
df = pd.DataFrame({'列1': [1, 2, 3], '列2': [4, 5, 6]})
# 创建一个写入器对象,用于将数据帧写入Excel文件
writer = pd.ExcelWriter('数据帧.xlsx')
# 将数据帧写入Excel文件
df.to_excel(writer, sheet_name='Sheet1')
# 保存Excel文件并关闭写入器对象
writer.save()
writer.close()
```
在上述代码中,我们首先创建了一个数据帧 `df`,然后创建了一个写入器对象 `writer`,并将数据帧 `df` 写入 Excel 文件中的一个名为 `Sheet1` 的工作表中,最后保存 Excel 文件并关闭写入器对象。
阅读全文