运用python代码,将C:\Users\rhy\Desktop\A表.xlsx这个表格中的代码列相同数据进行排序,结果输入到排行列中
时间: 2023-12-20 16:47:59 浏览: 92
以下是使用Python代码实现此操作的示例:
```python
import pandas as pd
# 读取Excel文件
df = pd.read_excel('C:\\Users\\rhy\\Desktop\\A表.xlsx')
# 按照代码列进行排序
df_sorted = df.sort_values(by='代码')
# 将结果输出到排行列中
df_sorted['排行'] = range(1, len(df_sorted)+1)
# 将结果保存到Excel文件
df_sorted.to_excel('C:\\Users\\rhy\\Desktop\\A表_sorted.xlsx', index=False)
```
在上述代码中,我们使用了pandas库来读取和处理Excel文件。首先,我们使用`pd.read_excel()`函数读取Excel文件并将其存储在一个pandas的DataFrame对象中。然后,我们使用`sort_values()`函数按照指定的列进行排序。在本例中,我们将代码列作为排序依据。最后,我们使用`range()`函数生成一个从1到行数的序列,并将其赋值给排行列。最后,我们使用`to_excel()`函数将结果保存到Excel文件中。
相关问题
运用PYthon实现一下功能:将C:\Users\rhy\Desktop\米罗\图书.xlsx这个Excel文件按照B列不同的出库单号,以C:\Users\rhy\Desktop\米罗\进货模板.xls的样式生成新的报表,(赠送量默认为0,单位默认为本)。将新生成的表格放到C:\Users\rhy\Desktop\米罗\生成文件这个路径下
以下是Python代码实现:
```python
import pandas as pd
import os
# 读取Excel文件
df = pd.read_excel(r'C:\Users\rhy\Desktop\米罗\图书.xlsx')
# 按照B列不同的出库单号分组
groups = df.groupby('B')
# 读取进货模板文件
template = pd.read_excel(r'C:\Users\rhy\Desktop\米罗\进货模板.xls')
# 遍历每个分组,生成新的报表
for name, group in groups:
# 复制进货模板
new_report = template.copy()
# 修改出库单号
new_report.loc[0, '出库单号'] = name
# 修改每本书的信息
for i, row in group.iterrows():
new_report.loc[i+1, '书名'] = row['书名']
new_report.loc[i+1, '作者'] = row['作者']
new_report.loc[i+1, '出版社'] = row['出版社']
new_report.loc[i+1, 'ISBN'] = row['ISBN']
new_report.loc[i+1, '出版日期'] = row['出版日期']
new_report.loc[i+1, '售价'] = row['售价']
new_report.loc[i+1, '库存量'] = row['库存量']
new_report.loc[i+1, '赠送量'] = 0
new_report.loc[i+1, '单位'] = '本'
# 保存新的报表
new_report.to_excel(os.path.join(r'C:\Users\rhy\Desktop\米罗\生成文件', f'{name}.xlsx'), index=False)
```
这段代码会将原Excel文件按照B列不同的出库单号分组,然后根据进货模板生成新的报表,并保存到指定路径下。
以C:\Users\rhy\Desktop\米罗\图书.xlsx表的B列进行去重 去重后的信息放入列表I 遍历列表I的每一个值,查找所有A表B列相等的值的行, 将这行的第6列、第9列、第10列、第11列生成新的报表, 输出的报表以出库单号命名,放入到C:\Users\rhy\Desktop\米罗\生成文件文件夹中
以下是代码实现:
```python
import pandas as pd
import os
# 读取Excel表格
df = pd.read_excel(r'C:\Users\rhy\Desktop\米罗\图书.xlsx')
# 去重并将结果存入列表I
I = list(set(df['B']))
# 遍历列表I
for i in I:
# 查找所有A表B列相等的值的行
rows = df[df['B'] == i]
# 生成新的报表
new_df = pd.DataFrame({
'出库单号': rows['F'],
'第6列': rows['G'],
'第9列': rows['J'],
'第10列': rows['K'],
'第11列': rows['L']
})
# 以出库单号命名报表
filename = str(rows.iloc[0]['F']) + '.xlsx'
# 将报表存入C:\Users\rhy\Desktop\米罗\生成文件文件夹中
new_df.to_excel(os.path.join(r'C:\Users\rhy\Desktop\米罗\生成文件文件夹', filename), index=False)
```
希望这个回答能够帮到你!
阅读全文