说来惭愧,用自己三脚猫不如的功夫跑了一个不怎么成熟的早会指标;由于anaconda3无法连接到内部的数据库,绥导出csv文件后将文件内容拼接一起。(用最笨的办法,连循环都没写一个)
首先需要import csv和docx;
刚开始还烦恼如何将字符串改成数字形式,cc=pd.Series.tolist(aa),cc是字符串列表;后来发现只要csv那一列是数字形式,生成的list(pd.Series.tolist(aa))基本上也是以float的形式存在;
import csv
import numpy as np
import pandas as pd
fn=open('C:\\Users\\深圳\\Desktop\\文字汇报-py.csv', encoding='utf-8')
df=pd.read_csv(fn)
如果需要打开文件,由于软件安装在D盘,用了import os 的os.getcwd() 找到py文件的保存地址;由于文件含有中文名,所以绝对路径写了上去,另外如果不加encoding='utf-8',我发现我没有办法打开。。。
中途发现数据框只能对列或者行操作,不能单独对元素操作(或者我没找到),所以type()发现是数据框之后,还是变成列表操作(pd.Series.tolist(aa))
aa=df['列']
cc=pd.Series.tolist(aa)
比较傻,只会对着数字每一个截取:a=round(float(cc[0]),2);其实可以写循环,但是觉得还是有函数可以一次性搞定,截取要的数;
s4='(d)5月1日以来,成交量%.2fW(日均 W)。)'%(c)
s6 = '3.昨天充值成功率%.2f%%'%(j)
---这是保留有百分号的形式,就是在所需要加百分比的地方用2个%%来表示,暂时无其他办法;
考虑到输出的问题:
print(s1+ s2+s3+s4+s5+s6+s7+s8+s9+s10+s11+s12) 会堆积在一起;
names=[s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11,s12];print(*names,sep='\n')--只能复制粘贴出去,没办法自动生成word文档;
import docx
file=docx.Document()
file.add_paragraph(s1)
file.add_paragraph(s2)
file.add_paragraph(s3)#段落
file.save('C:\\Users\\深圳\\Desktop\\test.docx') #名为test的文件保存在桌面上
fn.close()#记得一定要关闭文件哦。
最后,word文档打开里面的句子就成为段落式形式呈现。
其实做这个还是发现了很多需要改进的地方,早会指标只有部分能自动化操作,还有一些需要手动,只能慢慢改进!