1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > python如何把csv转化为xls_python中如何将csv文件转为xls文件

python如何把csv转化为xls_python中如何将csv文件转为xls文件

时间:2019-06-04 01:08:44

相关推荐

python如何把csv转化为xls_python中如何将csv文件转为xls文件

废话开端

要实现将csv文件转换为xls文件,就需要用到python中非常强大的第三方库---pandas。之前基本没用过pandas,对它可以说是一点都不了解,但是最近在工作中要经常处理各种Excel、csv文件,就不得不用到了,也还是处于学习阶段,一边学习,一边总结记录。那我们都知道pandas不仅可以操作Excel,csv,而且还可以处理json、pickle、html、table等等各种类型的数据。功能强大,非常实用,深受广大程序猿的喜爱,实属开发之必备良品啊!

代码实现

from io import StringIO

import csv

import pandas as pd

c_path = r"C:\Users\Desktop\新建文本文档.csv"

x_path = r"C:\Users\Desktop\新建文本文档.xls" # 路径中的xls文件在调用to_excel时会自动创建

def csv_to_xls(csv_path, xls_path):

with open(csv_path, 'r', encoding='gb18030', errors='ignore') as f:

data = f.read()

data_file = StringIO(data)

print(data_file)

csv_reader = csv.reader(data_file)

list_csv = []

for row in csv_reader:

list_csv.append(row)

df_csv = pd.DataFrame(list_csv).applymap(str)

'''

这部分是不将csv装换为xls,而是过滤后再写入csv文件

df_csv = df_csv[(df_csv[4] == '') | (df_csv[4] == 'name')] # 过滤出第四列包含空值和name的数据

df_csv.to_csv(csv_path, index=0, header=0, encoding='gb18030') # 写入csv文件中

'''

writer = pd.ExcelWriter(xls_path)

# 写入Excel

df_csv.to_excel(

excel_writer=writer,

index=False,

header=False

)

writer.save()

# 删除csv文件

os.remove(c_path)

csv_to_xls(c_path, x_path)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。