现在想将桌面Excel文件的数据,写入到企业微信的文档中,在企业微信的文档中也有一个Excel表格的文档,怎么使用python代码实现,每次桌面的Excel文件数据更新,就随着更新到企业微信中
参考如下教程:
python使用matplotlib绘制折线图教程
https://www.cnblogs.com/onemorepoint/p/7482644.html
没找到上传excel附件的位置,把图片贴出来对数据做一个说明:
第1行为X周,是时间单位,由于是相对时间,所以直接用数字代替
第1列是模拟的次数,总共1000次,每个单元格中的数值为X所对应的y值。
根据以上教程修改后的代码如下:
import matplotlib.pyplot as plt
import xlrd
y=[[] for i in range(0,999)]
workbook=xlrd.open_workbook(r'.\file\price.xlsx')
sheet=workbook.sheets()[0]
#取每一行数据为y值
for i in (range(0,999)):
y[i] = sheet.row_values(i+1)
#取第一行数据作为x坐标轴
x = sheet.row_values(0)
for i in (range(0,999)):
plt.plot(x[1:],y[i][1:])
plt.title('line chart')
plt.xlabel('x')
plt.ylabel('y')
plt.show()
运行结果如下:
对于问题中的需求,可以使用以下步骤来实现:
import pandas as pd
import os
from openpyxl import load_workbook, Workbook
filename = 'path/to/excel/file.xlsx' # 替换为实际的Excel文件路径
if os.path.exists(filename):
workbook = load_workbook(filename)
else:
workbook = Workbook()
# 获取需要的表格
sheet = workbook['Sheet1']
# 进行数据的筛选和部分内容的修改
df = pd.read_excel(filename, usecols=['city', 'data', 'info'])
df = df[~df['info'].str.contains('河北|河南')] # 将‘info’列中包含有河北或者河南的行去掉
# 修改列名和重新排序索引
df.rename(columns={'city': 'contrary'}, inplace=True) # 将city列名改为contrary
df.reset_index(drop=True, inplace=True) # 重新进行索引值排序
# 去除指定列中重复行
df.drop_duplicates(subset='contrary', keep='first', inplace=True) # 将contrary列中有重复的整行去除
new_filename = 'path/to/new/excel/file.xlsx' # 替换为保存新Excel文件的路径
with pd.ExcelWriter(new_filename) as writer:
df.to_excel(writer, index=False, sheet_name='Sheet1')
请注意,上述代码只提供了将Excel文件的数据处理并保存为新文件的示例,具体上传到企业微信的文档中需要根据企业微信的接口要求和Python库来进行实现。