如何将Excel文件批量转换为CSV格式?
- 内容介绍
- 文章标签
- 相关推荐
本文共计711个文字,预计阅读时间需要3分钟。
使用Excel格式批量转换CSV文件,实现方法及结果预览:
思路:
1.使用Python的pandas库读取Excel文件。
2.将读取的数据转换为CSV格式。
3.保存转换后的CSV文件。
结果预览:
- 输入:Excel文件路径。- 输出:转换后的CSV文件路径。完整代码:pythonimport pandas as pd
def excel_to_csv(excel_path, csv_path): # 读取Excel文件 df=pd.read_excel(excel_path) # 转换为CSV格式 df.to_csv(csv_path, index=False)
使用示例excel_path='input.xlsx'csv_path='output.csv'excel_to_csv(excel_path, csv_path)
代码解读:- `pd.read_excel()`:读取Excel文件。- `df.to_csv()`:将DataFrame对象转换为CSV格式并保存到文件。
延申思考:- 如何处理Excel文件中有特殊字符或非标准符号的情况?- 如何在转换过程中添加列名或表头?- 如何批量处理多个Excel文件的转换?
excel格式批量转csv
- 背景
- 思路
- 结果预览
- 完整代码
- 代码解读
- 延申思考
背景
好不容易把数据表格整出来发给地理可视化同事,反馈说arcgis对xlsx后缀不友好,没有注册类,希望改成csv格式或者xls格式,由于表格数据太多共12个,不太乐意一个一个手动打开然后另存为,只好求助于python批量转格式。
思路
- 首先,批量读取这批excel文件
- 其次,利用pd.to_csv()函数写成csv格式,且保存文件名一致
结果预览
原xlsx格式数据在测试数据文件下,共12个,与py文件同级的12个是后面程序跑出来的对应csv格式数据。
完整代码
# -*- coding: utf-8 -*-"""
project_name:excel格式转换
@author: 帅帅de三叔
Created on Wed Nov 20 10:45:24 2019
"""
import os #operating system 操作系统模块
import pandas as pd #导入数据处理模块
path=r"D:\Python项目\转换excel格式为xls或者csv\测试数据" #指定路径
filenames = os.listdir(path) #返回指定路径下所有文件和目录名,文件名构成的字符串列表
for file in filenames: #对文件列表循环
excel_path = u'D:\Python项目\转换excel格式为xls或者csv\测试数据\\' + file #构造访问绝对路径
print(excel_path) #测试文件绝对路径
f = open(excel_path,'rb') #以二进制读模式打开文件
data = pd.read_excel(f) #读取数据
data.to_csv(file.split(".")[0]+".csv") #另存为csv格式
代码解读
主要用到了os模块,该模块主要用来文件操作,比如**os.listdir()函数可以指定路径,然后循环用open()函数一个一个读取,紧接着用pd.read_excel()函数读取数据,最后用to_csv()**函数保存,思路自然。
延申思考
源代码和测试数据要分开放,测试数据文件下需要都是excel 文件,这与循环的时候pd.read_excel才不会报错,如果里面还有其他格式的文件,如txt等,可以使用try-except 来规避。
本文共计711个文字,预计阅读时间需要3分钟。
使用Excel格式批量转换CSV文件,实现方法及结果预览:
思路:
1.使用Python的pandas库读取Excel文件。
2.将读取的数据转换为CSV格式。
3.保存转换后的CSV文件。
结果预览:
- 输入:Excel文件路径。- 输出:转换后的CSV文件路径。完整代码:pythonimport pandas as pd
def excel_to_csv(excel_path, csv_path): # 读取Excel文件 df=pd.read_excel(excel_path) # 转换为CSV格式 df.to_csv(csv_path, index=False)
使用示例excel_path='input.xlsx'csv_path='output.csv'excel_to_csv(excel_path, csv_path)
代码解读:- `pd.read_excel()`:读取Excel文件。- `df.to_csv()`:将DataFrame对象转换为CSV格式并保存到文件。
延申思考:- 如何处理Excel文件中有特殊字符或非标准符号的情况?- 如何在转换过程中添加列名或表头?- 如何批量处理多个Excel文件的转换?
excel格式批量转csv
- 背景
- 思路
- 结果预览
- 完整代码
- 代码解读
- 延申思考
背景
好不容易把数据表格整出来发给地理可视化同事,反馈说arcgis对xlsx后缀不友好,没有注册类,希望改成csv格式或者xls格式,由于表格数据太多共12个,不太乐意一个一个手动打开然后另存为,只好求助于python批量转格式。
思路
- 首先,批量读取这批excel文件
- 其次,利用pd.to_csv()函数写成csv格式,且保存文件名一致
结果预览
原xlsx格式数据在测试数据文件下,共12个,与py文件同级的12个是后面程序跑出来的对应csv格式数据。
完整代码
# -*- coding: utf-8 -*-"""
project_name:excel格式转换
@author: 帅帅de三叔
Created on Wed Nov 20 10:45:24 2019
"""
import os #operating system 操作系统模块
import pandas as pd #导入数据处理模块
path=r"D:\Python项目\转换excel格式为xls或者csv\测试数据" #指定路径
filenames = os.listdir(path) #返回指定路径下所有文件和目录名,文件名构成的字符串列表
for file in filenames: #对文件列表循环
excel_path = u'D:\Python项目\转换excel格式为xls或者csv\测试数据\\' + file #构造访问绝对路径
print(excel_path) #测试文件绝对路径
f = open(excel_path,'rb') #以二进制读模式打开文件
data = pd.read_excel(f) #读取数据
data.to_csv(file.split(".")[0]+".csv") #另存为csv格式
代码解读
主要用到了os模块,该模块主要用来文件操作,比如**os.listdir()函数可以指定路径,然后循环用open()函数一个一个读取,紧接着用pd.read_excel()函数读取数据,最后用to_csv()**函数保存,思路自然。
延申思考
源代码和测试数据要分开放,测试数据文件下需要都是excel 文件,这与循环的时候pd.read_excel才不会报错,如果里面还有其他格式的文件,如txt等,可以使用try-except 来规避。

