1 背景

最近在整理气象数据,想把xls的数据转为csv格式方便后续用python进行shp的转化,故引出了这个问题。查看了相关资料,有两种方法可供选择,一种是按列,一种是按行,这个可以根据自己的数据来选择,记录如下。

1.1 数据源:

我使用的气象数据是已经经过了处理的,xls的界面如下所示:

2 参考文献

《python数据写入CSV》
《python读取excel某列数据》

3 代码

3.1 用列写入

import os
import time
import logging
import xlrd
import csv
import xlrd
import pandas as pdoutputflder=r"E:\excel\TA\4. csv\2002"
worksheet = xlrd.open_workbook(r'E:\excel\TA\3. delblank\2002\ deblank 2002 01.xls')
sheet_names= worksheet.sheet_names()
print(sheet_names)
for sheet_name in sheet_names:sheet = worksheet.sheet_by_name(sheet_name)rows = sheet.nrows # 获取行数cols = sheet.ncols # 获取列数#如果太多了,这里可以用一下for循环col1 = sheet.col_values(0) # 获取第二列内容, 数据格式为此数据的原有格式(原:字符串,读取:字符串;  原:浮点数, 读取:浮点数) col2 = sheet.col_values(1)col3 = sheet.col_values(2)col4 = sheet.col_values(3)col5 = sheet.col_values(4)col6 = sheet.col_values(5)col7 = sheet.col_values(6)col8 = sheet.col_values(7)col9 = sheet.col_values(8)#use pandas
#write date by using the form of dictdf= pd.DataFrame({'station':col1,'lat':col2,'lon':col3,'dem':col4,'year':col5,'month':col6,'day':col7,'Ta':col8,'Kelvins':col9})outputfile=outputflder+'\\2002'+sheet_name+'.csv' #命名df.to_csv(outputfile,index=False)print("OK")

得到的结果如下图所示,会发现多出了一行表头,主要是pd.DataFrame这里要写上表头:

3.2 用行写入:

import csv
from openpyxl import load_workbook
import xlrd
import xlwt
from xlutils.copy import copy
import os.pathoutputflder=r"E:\excel\TA\4.1 CSV"
file=r"E:\excel\TA\3. delblank\2002\ deblank 2002 01.xls" #要转换的xls文件
worksheet=xlrd.open_workbook(file,formatting_info=True)
sheet_names= worksheet.sheet_names()
print(sheet_names)
for sheet_name in sheet_names:sheet = worksheet.sheet_by_name(sheet_name)rows = sheet.nrows # 获取行数cols = sheet.ncols # 获取列数,尽管没用到rowValueList=[]for i in range(0,rows):    #遍历行row_data = sheet.row_values(i)  #第i行数据rowValueList.append(row_data)  #把所有行都加进去
#use pandas
#write date by using the form of dictoutputfile=outputflder+'\\2002'+sheet_name+'.csv'with open(outputfile, "w") as csvfile:writer = csv.writer(csvfile,lineterminator='\n')writer.writerows(rowValueList)print("OK")

得到的结果是这样的:

【EXCEL】 python xls转csv相关推荐

  1. asp.net 设置 excel alignment_教你如何用Python轻轻松松操作Excel、Word、CSV,一文就够了,赶紧码住!!!...

    作者:奈何缘浅wyj https://juejin.im/post/6868073137263607821 Python 操作 Excel 常用工具 数据处理是 Python 的一大应用场景,而 Ex ...

  2. 万字长文:用Python轻轻松松操作Excel、Word、CSV!

    来源丨编程派 原文丨https://juejin.im/post/6868073137263607821 Python 操作 Excel 常用工具 数据处理是 Python 的一大应用场景,而 Exc ...

  3. python excel 打印文档_教你如何用Python轻轻松松操作Excel、Word、CSV,一文就够了,赶紧码住!!!...

    原标题:教你如何用Python轻轻松松操作Excel.Word.CSV,一文就够了,赶紧码住!!! 作者:奈何缘浅wyj Python 操作 Excel 常用工具 数据处理是 Python 的一大应用 ...

  4. 【万字收藏】教你如何用Python轻轻松松操作Excel、Word、CSV,一文就够了,赶紧码住!!!...

    来源丨编程派 原文丨https://juejin.im/post/6868073137263607821 Python 操作 Excel 常用工具 数据处理是 Python 的一大应用场景,而 Exc ...

  5. python excel文件转为csv文件_python实现将excel文件转化成CSV格式

    python实现将excel文件转化成CSV格式 如下所示: import pandas as pd data = pd.read_excel('123.xls','Sheet1',index_col ...

  6. Python处理示波器CSV表格数据、微软excel格式数据

    Python处理示波器CSV文件数据.微软excel文件数据 软件环境 处理示波器导出的csv表格数据 csv原始数据形式 处理代码 代码运行结果 处理Simulink导出的excel表格数据 exc ...

  7. Excel VBA批量格式转换:xlsx转pdf、xls、csv以及反向转换

    有时候需要把大量的xlsx文件另存为其它格式,比如pdf.xls.csv,或者反向转换,可以用VBA批量处理.启动Excel,按下Alt+F11,打开Microsoft Visual Basic fo ...

  8. excel中后缀为csv和xls有何区别

    excel中后缀为csv和xls,二者区别如下: 1.xls 文件就是Microsoft excel电子表格的文件格式. 2.csv是最通用的一种文件格式,它可以非常容易地被导入各种PC表格及数据库中 ...

  9. 五行代码python 创建Excel(xls)文件以及数据写入

    五行代码python 创建Excel(xls)文件以及数据写入 今天我们采用xlwt来快速创建Excel的文件,一起来看一下代码. import xlwt new_workbook=xlwt.Work ...

最新文章

  1. 代码改变世界_改变世界,一次只写一行代码
  2. Linux基础:让history记录命令的历史执行时间
  3. 新浪微博杨卫华 PHP,构建高性能的微博系统——再谈新浪微博架构_杨卫华.pdf
  4. 【总结】那些只要发送口令就能获取的有三AI大包视频和图文资料,你都存下来了吗...
  5. MySQL01:MySQL概述
  6. http协议、cookie与session介绍
  7. mac xampp连接mysql_MAC系统XAMPP 中 MySQL命令行client配置使用
  8. 推荐汪峰的《北京,北京》,虽然有些念头
  9. Winsock编程入门 -- 4.面向连接的通讯
  10. 计算机考试准考证下载打不开
  11. 小孩子要学习时间管理吗
  12. 高等代数中涉及到“正交”的名词总结
  13. 解决mysqld: [ERROR] Found option without preceding group
  14. 【城北徐公之机器学习】感知机模型
  15. 拼多多校招----最大乘积(python)
  16. 基于ArUco的视觉定位(一)
  17. 经济金融经典书籍推荐(中文版)——转自豆瓣
  18. 自动杀死yarn 中运行的程序
  19. eclipse连接SQL Server数据库(详解很细心)
  20. 第一章 程序设计和C语言

热门文章

  1. Constructing Category-Specific Models for Monocular Object-SLAM(阅读笔记)
  2. 【C语言进阶】最常用的库函数大全——从入门到精通
  3. 《我不是药神》观后感
  4. idea中Run Anything的Recent记录删除快捷键
  5. 学SQL,要安装什么软件?
  6. DFIG_Wind_Turbine:基于MATLAB/Simulink的双馈异步风力发电机仿真模型,控制方案采用矢量控制
  7. vscode配置go环境
  8. 三菱波特率切换协议破解
  9. VS中DLL的导出宏的定义和头文件的位置导致的两类编译错误总结
  10. warning C4603: “_WINDLL”: 未定义宏或在预编译头使用后定义发生改变