看了网上的一些转换方法,感觉和本人想做出来的东西有些不同,因为涉及到4000多个xls文件,所以得有个方法来循环。其次,我这些文件内容的行和列都是一样的,只有里面的值不同,文件名也只要转换后一样就行(最好能把#号去掉)
#-*- coding:utf-8 -*-
import os
import pandas as pd
import re
path = r"E:\xxx" #读取excel目录路径
outpath = r"E:\xxx2" #输出csv目录路径
FileNames=os.listdir(path)
for fn in FileNames:
if re.search(r'\.xlsx?$',fn):
fullfilename=os.path.join(path,fn)
fn2 = re.sub(r'\.xlsx?$','.csv',fn)
fn2 = re.sub('#','',fn2)
fullfilename2=os.path.join(outpath,fn2)
df = pd.read_excel(fullfilename)
df.to_csv(fullfilename2,index=0)
print(fullfilename,"-->",fullfilename2)
用poi的Excel技术就可以实现的,CVS其实就是文本文件,\t 为字段分割,\n 换行
参考这个
import xlrd
import xlwt
def read_excel():
# 打开文件
workBook = xlrd.open_workbook('data/HanXueLi_201801.xlsx');
# 1.获取sheet的名字
# 1.1 获取所有sheet的名字(list类型)
allSheetNames = workBook.sheet_names();
print(allSheetNames);
# 1.2 按索引号获取sheet的名字(string类型)
sheet1Name = workBook.sheet_names()[0];
print(sheet1Name);
# 2. 获取sheet内容
## 2.1 法1:按索引号获取sheet内容
sheet1_content1 = workBook.sheet_by_index(0); # sheet索引从0开始
## 2.2 法2:按sheet名字获取sheet内容
sheet1_content2 = workBook.sheet_by_name('Sheet1');
# 3. sheet的名称,行数,列数
print(sheet1_content1.name,sheet1_content1.nrows,sheet1_content1.ncols);
# 4. 获取整行和整列的值(数组)
rows = sheet1_content1.row_values(3); # 获取第四行内容
cols = sheet1_content1.col_values(2); # 获取第三列内容
print(rows);
# 5. 获取单元格内容(三种方式)
print(sheet1_content1.cell(1, 0).value);
print(sheet1_content1.cell_value(2, 2));
print(sheet1_content1.row(2)[2].value);
# 6. 获取单元格内容的数据类型
# Tips: python读取excel中单元格的内容返回的有5种类型 [0 empty,1 string, 2 number, 3 date, 4 boolean, 5 error]
print(sheet1_content1.cell(1, 0).ctype);
用你说的方法, 试下这个:
1 第一步获取文件夹下面所有后缀为xls的文件
2 第二步循环遍历, 读取文件,并另存为csv
# 导入工具包
import pandas as pd
import numpy as np
import os
# 路径
path = 'c:/users/用户/desktop/新建文件夹/'
# 文件列表
files = []
for file in os.listdir(path):
if file.endswith(".xls"):
files.append(path+file)
# 遍历所有文件
for file in files:
datai = pd.read_excel(file)
datai.to_csv(file.split('.')[0]+'.csv')
本人是想以python为背景实现循环,类似这样
本人设想最好是能通过一些基于python写的方法来实现结果,比如os包,pandas包下的一些方法
您好,我是有问必答小助手,你的问题已经有小伙伴为您解答了问题,您看下是否解决了您的问题,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632
头疼,现在我按照前辈的代码会出现找不到类似excel文件的错误,因为我最原始的文件的后缀名为xls,不是xlsx,但如果我讲下面的代码中xls改成xlsx的确可以运行,但在输出路径下会没有文件