您当前的位置:首页 > 计算机 > 编程开发 > Python

用Python快速删除n个Excel表格中的第一行数据和遇到的错误解决方法

时间:04-15来源:作者:点击数:

在处理文件时遇到了一个简单又繁琐的事情:

一共有48个csv文件,每个文件的第一行是标题行。要求删除所有csv文件的第一行内容,剩余内容不变。

文件名类似:

在这里插入图片描述

文件内容中首行都有一样的标题

在这里插入图片描述

在网上找的代码为

  with open(r'C:\Users\sheet1.csv', 'r') as f,open(r'C:\2\sheet1.csv', 'w') as f1:
        next(f)  # skip header line
        for line in f:
            f1.write(line)

路径部分为文件的绝对路径。

因为有48个csv文件需要修改,因此需要写一个for循环。

for i in range(1,49):
	with open(r'C:\Users\sheet%d.csv'%i, 'r') as f,open(r'C:\2\sheet%d.csv'%i, 'w') as f1:
        next(f)  # skip header line
        for line in f:
            f1.write(line)

此时我们运行一下代码,出现了Unicode解码错误:

UnicodeDecodeError: 'gbk' codec can't decode byte 0xaa in position 10: illegal multibyte sequence
在这里插入图片描述

解决方法:

for i in range(1,49):
    with open(r'C:\Users\csv\sheet%d.csv'%i, 'r', encoding="utf-8") as f, open(
            r'C:\Users\csv\2\sheet%d.csv'%i, 'w', encoding="utf-8") as f1:
        next(f)  # skip header line
        for line in f:
            f1.write(line)

使用open函数时,加上参数encoding=定义为“utf-8”即可。

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门