【python】如何将数据在csv和xlsx之间相互转换

简介: 【python】如何将数据在csv和xlsx之间相互转换

一、将数据从xlsx写到csv里

       1、使用pandas

       要将数据从XLSX(Excel)文件写入CSV文件中,您可以使用Python的pandas库。

       下面是一个示例程序:

import pandas as pd
# 从XLSX文件读取数据
df = pd.read_excel('input.xlsx')
# 将数据写入CSV文件
df.to_csv('output.csv', index=False)

在上述示例中,我们首先使用pd.read_excel()方法从XLSX文件读取数据,并将其存储为DataFrame对象df。然后,我们使用df.to_csv()方法将数据写入CSV文件,其中index=False表示不包含索引列。

请注意,在运行此示例之前,您需要先安装pandas库,您可以使用以下命令来安装它:

pip install pandas

通过上述方法,您可以将数据从XLSX文件写入CSV文件中,以便在其他应用程序或环境中使用CSV格式的数据。

       2、不使用pandas

       如果不使用pandas库,可以使用openpyxl和csv模块来将数据从XLSX文件写入CSV文件中。

下面是一个示例程序:

import openpyxl
import csv
# 打开XLSX文件
wb = openpyxl.load_workbook('input.xlsx')
# 选择第一个工作表
sheet = wb.active
# 打开CSV文件
with open('output.csv', 'w', newline='') as csvfile:
    writer = csv.writer(csvfile)
    # 遍历工作表的行
    for row in sheet.iter_rows(values_only=True):
        writer.writerow(row)
# 关闭XLSX文件
wb.close()
  • 在上述代码中,for row in sheet.iter_rows(values_only=True) 是一个循环语句,用于遍历工作表中的每一行数据。
  • sheet.iter_rows() 是 openpyxl 库中工作表对象的方法,用于迭代遍历工作表的行。通过设置 values_only=True,我们可以直接获取每个单元格的值,而不是包含单元格对象的元组。
  • 在每次循环中,row 变量表示当前行的数据。在下一行的代码中,我们使用 writer.writerow(row) 将当前行的数据写入 CSV 文件。
  • 通过使用 sheet.iter_rows(values_only=True),我们可以方便地遍历工作表的每一行并访问其中的数据,而无需使用复杂的索引或方法来获取单元格的值。

 

二、将数据从csv写到xlsx里

       1、使用pandas        

       要将数据从CSV文件写入到XLSX(Excel)文件中,您可以使用Python的pandas库和openpyxl库。pandas库提供了方便的方法来读取和处理CSV文件,而openpyxl库用于创建和写入Excel文件。

下面是一个示例程序:

import pandas as pd
# 从CSV文件读取数据
df = pd.read_csv('input.csv')
# 创建Excel Writer对象
writer = pd.ExcelWriter('output.xlsx', engine='openpyxl')
# 将数据写入Excel文件
df.to_excel(writer, index=False)
# 保存并关闭Excel文件
writer.save()
writer.close()

在上述示例中,我们首先使用pd.read_csv()方法从CSV文件读取数据,并将其存储为DataFrame对象df。然后,我们创建一个Excel Writer对象,并将其指定为openpyxl引擎。接下来,我们使用df.to_excel()方法将数据写入Excel文件,其中index=False表示不包含索引列。最后,我们使用writer.save()保存并关闭Excel文件。

请注意,为了运行此示例,您需要先安装pandas和openpyxl库,您可以使用以下命令来安装它们:

pip install pandas openpyxl

通过上述方法,您可以方便地将数据从CSV文件写入到XLSX文件中,并且可以根据需要进行进一步的Excel文件操作。

       2、不使用pandas

      如果不使用pandas库,可以使用openpyxl和csv模块来将数据从CSV文件写入XLSX文件中。

下面是一个示例程序:

import openpyxl
import csv
# 创建新的XLSX文件
wb = openpyxl.Workbook()
sheet = wb.active
# 打开CSV文件
with open('input.csv', 'r') as csvfile:
    reader = csv.reader(csvfile)
    # 遍历CSV文件的行
    for row in reader:
        sheet.append(row)
# 保存XLSX文件
wb.save('output.xlsx')
  • 在上述示例中,我们首先创建了一个新的XLSX文件,并获取其默认的活动工作表(通过wb.active)。然后,我们使用内置的csv模块打开CSV文件,并创建一个csv.reader对象来读取数据。
  • 接下来,我们使用for row in reader循环遍历CSV文件的每一行,并使用sheet.append(row)将每一行添加到XLSX文件的工作表中。
  • 最后,我们使用wb.save()方法保存XLSX文件。
相关文章
|
12月前
|
数据采集 Web App开发 数据可视化
Python零基础爬取东方财富网股票行情数据指南
东方财富网数据稳定、反爬宽松,适合爬虫入门。本文详解使用Python抓取股票行情数据,涵盖请求发送、HTML解析、动态加载处理、代理IP切换及数据可视化,助你快速掌握金融数据爬取技能。
8635 1
|
12月前
|
Java 数据挖掘 数据处理
(Pandas)Python做数据处理必选框架之一!(一):介绍Pandas中的两个数据结构;刨析Series:如何访问数据;数据去重、取众数、总和、标准差、方差、平均值等;判断缺失值、获取索引...
Pandas 是一个开源的数据分析和数据处理库,它是基于 Python 编程语言的。 Pandas 提供了易于使用的数据结构和数据分析工具,特别适用于处理结构化数据,如表格型数据(类似于Excel表格)。 Pandas 是数据科学和分析领域中常用的工具之一,它使得用户能够轻松地从各种数据源中导入数据,并对数据进行高效的操作和分析。 Pandas 主要引入了两种新的数据结构:Series 和 DataFrame。
834 0
|
12月前
|
JSON 算法 API
Python采集淘宝商品评论API接口及JSON数据返回全程指南
Python采集淘宝商品评论API接口及JSON数据返回全程指南
|
12月前
|
JSON API 数据安全/隐私保护
Python采集淘宝拍立淘按图搜索API接口及JSON数据返回全流程指南
通过以上流程,可实现淘宝拍立淘按图搜索的完整调用链路,并获取结构化的JSON商品数据,支撑电商比价、智能推荐等业务场景。
|
数据采集 关系型数据库 MySQL
python爬取数据存入数据库
Python爬虫结合Scrapy与SQLAlchemy,实现高效数据采集并存入MySQL/PostgreSQL/SQLite。通过ORM映射、连接池优化与批量提交,支持百万级数据高速写入,具备良好的可扩展性与稳定性。
|
数据采集 数据可视化 关系型数据库
基于python大数据的电影数据可视化分析系统
电影分析与可视化平台顺应电影产业数字化趋势,整合大数据处理、人工智能与Web技术,实现电影数据的采集、分析与可视化展示。平台支持票房、评分、观众行为等多维度分析,助力行业洞察与决策,同时提供互动界面,增强观众对电影文化的理解。技术上依托Python、MySQL、Flask、HTML等构建,融合数据采集与AI分析,提升电影行业的数据应用能力。
|
JSON API 数据安全/隐私保护
Python采集淘宝评论API接口及JSON数据返回全流程指南
Python采集淘宝评论API接口及JSON数据返回全流程指南
|
数据采集 机器学习/深度学习 人工智能
Python:现代编程的首选语言
Python:现代编程的首选语言
1791 102
|
数据采集 机器学习/深度学习 算法框架/工具
Python:现代编程的瑞士军刀
Python:现代编程的瑞士军刀
571 104
|
人工智能 自然语言处理 算法框架/工具
Python:现代编程的首选语言
Python:现代编程的首选语言
469 103

推荐镜像

更多