Python使用Pandas将Excel转换为CSV及数据清洗实战

Luna
Luna
发布时间:2026-10-13| 3人浏览过
原创

本文介绍如何利用Python的Pandas库将Excel文件转换为CSV格式,并演示在转换过程中对特定字段进行清洗和提取的操作。通过示例代码展示如何修改URL协议、处理换行符以及从固定位置截取子字符串,最后提供将列表数据直接写入Excel或CSV文件的多种方法,帮助开发者高效处理结构化数据。

Excel转CSV及数据清洗流程

由于客户提供的原始数据为Excel格式,而实际使用场景中需要CSV格式,同时需要对部分字段进行预处理(例如从某字段中提取固定位置的字符并独立成列),以下记录使用Anaconda环境下的处理流程;


import pandas
 
df = pandas.read_excel("/***/***.xlsx")
 
df.columns = [内部为你给你的excel每一列自定义的名称](比如我给我的excel自定义列表为:
["url","productName","***",。。。,"***"])

(此处开始执行具体的列数据处理逻辑,根据实际需求对每一列进行清洗或转换)


df["url"] = df["url"].str.replace("http", "https")
 
df["***"] = df["***"].str.replace("\n", " ")
 
df["stract_content"] = df["url"].str[-6:]

数据处理完成后,需执行保存操作;


df.drop_duplicates().fillna("").to_csv("/***/***.csv", index=False, encoding="utf-8", sep="\3")

代码中上方指定了源文件的读取路径,下方指定了目标文件的保存路径;

处理结束后,可通过以下命令验证结果;

使用df.head(5)查看前5行数据,以确认处理结果是否符合预期;

下面总结将List列表内容存储到Excel和CSV文件的方法;

直接参考以下代码示例;

将列表存储到CSV文件:以下代码使用codes包进行操作;

List存储为CSV与Excel的方法


with codecs.open("result.csv", "w", encoding="utf-8") as fw:
  for i in final_res:
    fw.write(u"\3".join([j if isinstance(j, unicode) else str(j).decode("utf-8") for j in i]) + "\n")

以下是使用Pandas库的操作方式;

columns参数接收字符串列表,作为表格的列标题;


df = pandas.DataFrame(my_list)
df.columns = ["col1", "col2", ...]
df.to_excel("result.xlsx", index=False, encoding="utf-8")

也可以先保存为CSV文件,随后使用Pandas将其转换为Excel格式;


with codecs.open("result.csv", "w", encoding="utf-8") as fw:
  for i in final_res:
    fw.write(u"\3".join([j if isinstance(j, unicode) else str(j).decode("utf-8") for j in i]) + "\n")
 
with pandas.ExcelWriter('result.xlsx') as ew:
  pandas.read_csv("result.csv", sep='\3').to_excel(ew, index=False, header=["文件名", "query调用时间", "调用ip", "调用类型", "query结束时间", "行序号", "top5 sku", "文件总耗时"], sheet_name="result", encoding="utf-8")

或者采用另一种方式;


with codecs.open("result.csv", "w", encoding="utf-8") as fw:
  for i in final_res:
    fw.write(u"\3".join([j if isinstance(j, unicode) else str(j).decode("utf-8") for j in i]) + "\n")
 
df = pandas.read_csv("result.csv", sep="\3")
df.columns = ["col1", "col2", ...]
df.to_excel("result.xlsx", index=False, encoding="utf-8")

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持本站。

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。