由于经常需要用到这方面的内容,所以要好好记录一下,省的以后老找了

使用的代码版本为 Python3

首先呢,数据是这个样子的

V04002 V01000 V04001 V10004 V12001 V11002 V13004 V13003 V13011

1 58015 2014 10203 26 19 49 67 0

2 58015 2014 10212 23 21 59 79 282

3 58015 2014 10149 113 20 86 64 87

4 58015 2014 10112 154 14 135 78 615

5 58015 2014 10040 217 17 167 66 530

6 58015 2014 10003 241 12 238 81 571

7 58015 2014 9999 267 14 287 83 1345

8 58015 2014 10033 244 11 271 89 717

第一行对应的含义是:

'V04002':'月','V01000':'区站号','V04001':'年','V14032':'日照时数','V10202':'极端最低本站气压','V10004':'平均本站气压','V12001':'平均气温','V11002':'平均风速','V10201':'极端最高本站气压','V13004':'平均水汽压','V13003':'平均相对湿度','V13011':'降水量','V12212':'平均最低气温'

我想用Python把它写入excel中

用到的知识

(1)使用字典

使用字典将对应的代号转换成中文

(2)读取文件

因为数据是以txt格式来进行保存的,所以需要用到IO操作来读取数据。

with open('read.txt','r') as f:

在这里会用with ... as

因为文件对象实现了上下文管理器协议,程序进入with语句块时,会把文件对象赋值给变量f,在程序退出 with 语句块时,会自动调用close方法

需要注意的是,如果是写入文件,可以在函数中指定字符编码格式

with open('output.txt','w',encoding='utf-8') as f:

with open('output.txt','w',encoding='utf-8') as f:

contents='愚人之丘'

f.write(content)

在Python2中可以使用io模块的open。Python2 io.open()等价于Python3 open()

from io import open

(3)pandas

我曾经用pandas爬去过网页上的表格,十分好用,看过介绍,正好在这里也用的上

在dataframe的示例上是这样写的

data = {'Country': ['Belgium', 'India', 'Brazil'],

'Capital': ['Brussels', 'New Delhi', 'Brasília'],

'Population': [11190846,1303171035,207847528]}

df = pd.DataFrame(data,

columns=['Country', 'Capital', 'Population'])

我将数据转换成这种形式,然后使用pandas的to_excel(name,sheet_name=name)将其保存为excel的格式

(4)split(),strip()

split()

通过指定分隔符对字符串进行切片,如果参数num 有指定值,则仅分隔 num 个子字符串

str.split(str="",num=string.count(str)).

strip()

用于移除字符串头尾指定的字符(默认为空格)。

#!/usr/bin/python

str="0000000this is string example....wow!!!0000000";

printstr.strip('0');

输出即为

this is string example....wow!!!

还可以单独去除一边,也可以使用replace

" xyz ".strip() # returns "xyz"

" xyz ".lstrip() # returns "xyz "

" xyz ".rstrip() # returns " xyz"

" x y z ".replace(' ','') # returns "xyz"

代码

# -*- coding: UTF-8 -*-

import pandas as pd

def toexcel(name):

print('*****************************')

print(name)

print('*****************************')

biaotou={'V04002':'月','V01000':'区站号','V04001':'年','V14032':'日照时数','V10202':'极端最低本站气压','V10004':'平均本站气压','V12001':'平均气温','V11002':'平均风速','V10201':'极端最高本站气压','V13004':'平均水汽压','V13003':'平均相对湿度','V13011':'降水量','V12212':'平均最低气温'}

header=[] #存放转换过的表头

data=[] #存放数据

pre=name.split('.')[0] #excel文件名称(小数点前)

xlsname=(pre+'.xlsx')

with open(name) as file:

for line in file:

line=line.strip('\n').strip() #先去掉换行符\n,再去掉前后的空格

line=line.split(' ') #将每行的数据分隔开

for n in line:

if n in biaotou.keys():

header.append(biaotou[n])

else:

data.append(line)

break

df=pd.DataFrame(data,columns=header)

df.to_excel(xlsname,sheet_name=pre)

if __name__ == "__main__":

name='*****' #数据名称

toexcel(name):

应用到多个文件

因为数据文件不只是一个是有很多个,要应用到很多个,所以同样要写个方法,获取所有数据的文件的名字,一个个的传给上面的方法,我是通过用到os.listdir() 和os.getcwd() 。

os.listdir() 方法用于返回指定的文件夹包含的文件或文件夹的名字的列表。这个列表以字母顺序。 它不包括 '.' 和'..' 即使它在文件夹中。

os.getcwd() 方法用于返回当前工作目录。

将这两个方法一起用就可以获得当前目录的所有文件的名称(以后会改成传入地址的)

def getname():

names=[]

passname=['toexcel.py'] #将不想执行的该程序的文件名,放在这个中,在

这里,这个是Python代码的名字

filenames = os.listdir(os.getcwd())

for name in filenames:

if name not in passname:

names.appends(name)

return names

将3,4结合,稍加改动就可以将所有数据文件写入到excel中

我知道我的方法比较繁琐,如果有更好的方法,如果那里有什么错误,希望可以告知,共同进步

python如何将数据写入excel_使用python将数据写入excel相关推荐

  1. python查数据库写入excel_【Python】将数据库中的数据查询出来自动写入excel文档...

    近期每天都要监控一个数据. 第一个版本是这样的: 每天新增一个文档来汇总这个数据.这样搞了几天之后,过了一个周末,过来突然发现数据变多了很多,这个时候要调整策略,直接一个文档汇总出要的数据就可以了. ...

  2. python将数据写入excel_【Python】将数据库中的数据查询出来自动写入excel文档

    近期每天都要监控一个数据.第一个版本是这样的: 每天新增一个文档来汇总这个数据.这样搞了几天之后,过了一个周末,过来突然发现数据变多了很多,这个时候要调整策略,直接一个文档汇总出要的数据就可以了. 这 ...

  3. python处理微信消息导入excel_使用python读取excel中的数据,并重新写入到新的excel中...

    使用Python3运行 起初是读取excel中的数据,进行相关的计算将结果追加在后面,没有找到合适的办法,就只能采用这种读取数据,进行相关操作,重新写入的方法 1. 主要流程 (1)使用xlrd打开x ...

  4. 字典写入excel_使用Python扫描邮件/填写Excel表格实现办公自动化

    题图:希腊德尔斐(Delphi)神庙遗址.传说此地原为巨蟒Python盘踞,阿波罗来到此地射杀Python后建立起神庙,成为古希腊的精神圣地. 关键词:Python, 邮件扫描, yaml配置文件,邮 ...

  5. python二维列表写入excel_用Python实现合并excel列表

    python操作excel主要用到xlrd和xlwt这两个库,即xlrd是读excel,xlwt是写excel的库. 安装xlrd模块,在安装好python的环境下,打开cmd,输入pip insta ...

  6. python 写入excel_基于Python实现Excel的读写

    LabVIEW:2018 Python:3.6.0 xlrd:1.2.0 xlwt:1.3.0 Python的强大不需要我来解释,人生苦短,我用python!自行学习之后总想把它在工作中慢慢用起来,L ...

  7. python 写入excel_使用python将数据写入excel

    原博文 2019-04-28 16:28 − 先来个简单的例子: #!/usr/bin/python #coding=utf-8 # ================================= ...

  8. python逐行读取txt写入excel_用python从符合一定格式的txt文档中逐行读取数据并按一定规则写入excel(openpyxl支持Excel 2007 .xlsx格式)...

    前几天接到一个任务,从gerrit上通过ssh命令获取一些commit相关的数据到文本文档中,随后将这些数据存入Excel中.数据格式如下图所示 观察上图可知,存在文本文档中的数据符合一定的格式,通过 ...

  9. python将数据逐行写入excel_使用python将数据写入excel

    #!/usr/bin/python#coding=utf-8#===================================================================== ...

最新文章

  1. 兴趣点推荐代码_推荐系统模型阿里用户兴趣模型(附完整代码)
  2. Samba的主配置文件
  3. IronRuby and ASP.NET MVC
  4. ubuntu19.04更改国内镜像源
  5. 机器学习 凝聚态物理_机器学习遇到了凝聚的问题
  6. matlab regionprops区域属性信息
  7. Moses manual 中Basline System 2.3.4节用IRSTLM创建语言模型的命令有误
  8. VBA的代码,在Excel启动时自动执行
  9. FFmpeg编写的代码
  10. 如何借助log4j把日志写入数据库中
  11. MATLAB-多目标线性规划问题
  12. Ubuntu安装Monaco字体
  13. 服务器常见问题,如何解决“远程服务器返回错误”?
  14. “科创中国”创新资源共享平台助力2020年“企业创新大家谈”活动
  15. JavaScript批量定义对象
  16. 电子文档迎接“双轨制”
  17. 第三章总体均数的估计与假设检验(2)
  18. AVC编码中的规格 :High、Baseline、Main什么意思?还有High@L3.0、High@L4.0、High@L5.1等
  19. amd用不了android studio,解决AMD无法使用Android studio问题
  20. 工业品行业商城系统解决方案

热门文章

  1. JS 流行库(三):Zepto
  2. 移动网维嘉忆网络基础设施介绍手稿笔记
  3. NOIP2005 篝火晚会 解题报告
  4. java 从视频里面提取音频 批量
  5. xp系统共享打印机服务器不可用,那种方式能够解决WinXP访问Win10共享打印机指定网络不可用的问题?...
  6. 1688API详情接口调用展示
  7. 深入理解Android相机体系结构之二
  8. 计算机取消uefi启动项,如何使用老毛桃winpe删除或添加UEFI BIOS启动项?
  9. 冯诺伊曼出生日期星期几_天才冯·诺依曼与冯·诺依曼瓶颈
  10. 计算机存储1pb等于多少kb,存储容量:1TB等于多少GB?1PB等于多少TB?1EB等于多少PB?