csv部分指標生成word

說來慚愧,用自己三腳貓不如的功夫跑了一個不怎麼成熟的早會指標;由於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文檔打開裏面的句子就成爲段落式形式呈現。

其實做這個還是發現了很多需要改進的地方,早會指標只有部分能自動化操作,還有一些需要手動,只能慢慢改進!

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章