for i in range(1, 15): filename = 'E:/应统案例大赛/附件1-股票交易数据/a{}.xlsx'.format(i) df = pd.read_excel(filename) df_desc = df.describe() sheet_name = 'a{}'.format(i+1) df_desc.to_excel('E:/应统案例大赛/附件1-股票交易数据/miaoshu{}.xlsx', sheet_name=sheet_name) 修改代码,使每个描述统计分别进入一个sheet
时间: 2024-02-24 19:55:18 浏览: 22
你可以在 `df_desc.to_excel()` 方法中指定 `sheet_name` 参数,来指定每个描述统计分别进入一个sheet。下面是修改后的代码:
```python
import pandas as pd
for i in range(1, 15):
filename = 'E:/应统案例大赛/附件1-股票交易数据/a{}.xlsx'.format(i)
df = pd.read_excel(filename)
df_desc = df.describe()
sheet_name = 'a{}'.format(i+1)
writer = pd.ExcelWriter('E:/应统案例大赛/附件1-股票交易数据/miaoshu{}.xlsx'.format(i))
df_desc.to_excel(writer, sheet_name=sheet_name)
writer.save()
```
这里使用了 `pd.ExcelWriter()` 方法创建一个 ExcelWriter 对象,然后在 `df_desc.to_excel()` 方法中指定这个对象和 `sheet_name` 参数,最后调用 `writer.save()` 方法保存文件。这样每个描述统计就会分别进入一个 sheet 中。
相关问题
# 循环调用绘图函数 for i in range(1, 15): filename = f'E:/应统案例大赛/附件1-股票交易数据/a{i}.xlsx' # 根据数据文件名字生成文件路径 df = pd.read_excel(filename) # 读取数据 plot_k_line(df) # 绘制K线图 plt.savefig('E:/应统案例大赛/附件1-股票交易数据/a{i}.jpg') plt.show() # 显示图表 为什么只保存了一个图片
你的代码中使用了 f-string 来构造文件名,但是你在调用 `plt.savefig()` 函数时,文件名中的 f-string 没有被正确地格式化,因为你使用了单引号字符串而不是 f-string。你可以将单引号替换为双引号来解决这个问题,例如:
```
plt.savefig(f"E:/应统案例大赛/附件1-股票交易数据/a{i}.jpg")
```
这将确保文件名中的 f-string 被正确地格式化。如果你仍然只保存了一个图片,可能是由于你的代码中存在其他问题。你可以在循环中打印出每个数据框的名称和保存的文件名,以便进行调试。例如:
```
for i in range(1, 15):
filename = f'E:/应统案例大赛/附件1-股票交易数据/a{i}.xlsx'
df = pd.read_excel(filename)
print(f"Processing file {filename}...")
plot_k_line(df)
plt.savefig(f'E:/应统案例大赛/附件1-股票交易数据/a{i}.jpg')
plt.show()
```
这将在每次循环中打印出正在处理的文件名,以便你查看是否正确地处理了所有文件。
df1 = pd.read_excel('E:/应统案例大赛/附件1-股票交易数据/a1.xlsx')做一个循环,读取a1到a14
你可以使用一个循环来实现这个功能。具体实现方法如下:
```python
import pandas as pd
# 循环读取文件
for i in range(1, 15):
filename = 'E:/应统案例大赛/附件1-股票交易数据/a{}.xlsx'.format(i)
df = pd.read_excel(filename)
# 在这里进行你需要的操作
print(df.head())
```
这个循环会从 a1.xlsx 读取到 a14.xlsx,每次读取一个文件,并将其存储在 `df` 变量中。你可以在循环体中对每个文件进行需要的操作。在这个例子中,我使用 `print(df.head())` 打印了每个文件的前五行。