csv打开乱码转换excel表格

发布时间: 2023-11-30 10:36 阅读: 文章来源:1MUMB100244PS

将csv文件或txt文件转为表格excel文件,使用Python其实是比较简单的,只需要编写1个简单的函数即可。详细介绍如下:

一、前提条件

必须是标准的csv文件格式,即逗号分隔值文件格式csv文件。

如果是txt文件,文件中每行内的值也必须是以英文逗号分隔开的。

如下所示的:

csv文件

逗号分隔值的txt文件

我们看到不论是csv文件还是txt文件,每行内的值都必须是英文状态下的逗号进行分隔的。

如果不是英文逗号,而是中文逗号分隔值呢,下面编写的代码会导致无法准确转为表格文件的。类似地,如果tab键分隔值、其它符号分隔值,都是无法准确转为表格文件的。

所以,要使用下面的代码转换csv文件或txt文件,务必确保文件中的分隔符是英文状态下的逗号。

二、具体转换的代码

import openpyxl #导入表格模块

import csv #导入csv模块

#以下定义一个函数,该函数的功能是转为csv文件为表格文件。

def csv_to_excel(csv_file,excel_file): #2个参数分别是文件完整路径,这里csv_file可以是后缀为.txt的文件

csv_data = []

with open(csv_file) as f: #打开csv文件或txt文件

for row in csv.reader(f): #读取文件中的每行

csv_data.append(row) #将读取的每行内容保存为列表的每个元素

wb = openpyxl.Workbook() #新建工作薄文件

sheet = wb.active #获取当前的工作表

for row in csv_data: #读取每个元素,即csv的每行

sheet.append(row) #在工作表中添加每行

wb.save(excel_file) #保存生成的工作簿文件

#下面是调用定义的函数,执行具体的转换任务。

csv_to_excel(‘e:/1.txt‘,‘e:/new.xlsx‘) #将e盘下的1.txt文件,转换为new.xlsx表格

print(‘完成‘) #执行完成后,提示执行结束!

三、在python的IDLE中代码如下图所示

在上面代码处于当前状态时,按下f5或者点击菜单栏中的run下面的按钮,即可执行上述的代码。

同样,修改倒数第2行中的2个参数,即可转换本地csv文件或txt文件。

四、有没有必要将csv文件转为excel文件

如果csv文件数据量超过10万行,不建议转为excel,因为在excel中的行数太大时,一是表格反应速度会变慢,有时让人无法接受,二是在进行数据处理时容易出错。对于大数据量的情况,使用python直接读取csv文件并进行分析,会更加方便简单高效。

如果csv文件数据量较少,可以根据需要,决定是否转为excel文件。

•••展开全文
相关文章