【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库,可以使用openpyxlcsv模块来将数据从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文件。

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

pip install pandas openpyxl

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

       2、不使用pandas

      如果不使用pandas库,可以使用openpyxlcsv模块来将数据从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文件。
相关文章
|
25天前
|
数据采集 JSON 数据处理
抓取和分析JSON数据:使用Python构建数据处理管道
在大数据时代,电商网站如亚马逊、京东等成为数据采集的重要来源。本文介绍如何使用Python结合代理IP、多线程等技术,高效、隐秘地抓取并处理电商网站的JSON数据。通过爬虫代理服务,模拟真实用户行为,提升抓取效率和稳定性。示例代码展示了如何抓取亚马逊商品信息并进行解析。
抓取和分析JSON数据:使用Python构建数据处理管道
|
10天前
|
图形学 Python
SciPy 空间数据2
凸包(Convex Hull)是计算几何中的概念,指包含给定点集的所有凸集的交集。可以通过 `ConvexHull()` 方法创建凸包。示例代码展示了如何使用 `scipy` 库和 `matplotlib` 绘制给定点集的凸包。
20 1
|
11天前
|
JSON 数据格式 索引
Python中序列化/反序列化JSON格式的数据
【11月更文挑战第4天】本文介绍了 Python 中使用 `json` 模块进行序列化和反序列化的操作。序列化是指将 Python 对象(如字典、列表)转换为 JSON 字符串,主要使用 `json.dumps` 方法。示例包括基本的字典和列表序列化,以及自定义类的序列化。反序列化则是将 JSON 字符串转换回 Python 对象,使用 `json.loads` 方法。文中还提供了具体的代码示例,展示了如何处理不同类型的 Python 对象。
|
11天前
|
数据采集 Web App开发 iOS开发
如何使用 Python 语言的正则表达式进行网页数据的爬取?
使用 Python 进行网页数据爬取的步骤包括:1. 安装必要库(requests、re、bs4);2. 发送 HTTP 请求获取网页内容;3. 使用正则表达式提取数据;4. 数据清洗和处理;5. 循环遍历多个页面。通过这些步骤,可以高效地从网页中提取所需信息。
|
23天前
|
数据可视化 算法 JavaScript
基于图论的时间序列数据平稳性与连通性分析:利用图形、数学和 Python 揭示时间序列数据中的隐藏模式
本文探讨了如何利用图论分析时间序列数据的平稳性和连通性。通过将时间序列数据转换为图结构,计算片段间的相似性,并构建连通图,可以揭示数据中的隐藏模式。文章介绍了平稳性的概念,提出了基于图的平稳性度量,并展示了图分区在可视化平稳性中的应用。此外,还模拟了不同平稳性和非平稳性程度的信号,分析了图度量的变化,为时间序列数据分析提供了新视角。
52 0
基于图论的时间序列数据平稳性与连通性分析:利用图形、数学和 Python 揭示时间序列数据中的隐藏模式
|
1月前
|
自然语言处理 算法 数据挖掘
探讨如何利用Python中的NLP工具,从被动收集到主动分析文本数据的过程
【10月更文挑战第11天】本文介绍了自然语言处理(NLP)在文本分析中的应用,从被动收集到主动分析的过程。通过Python代码示例,详细展示了文本预处理、特征提取、情感分析和主题建模等关键技术,帮助读者理解如何有效利用NLP工具进行文本数据分析。
46 2
|
10天前
|
索引 Python
SciPy 空间数据1
SciPy 通过 `scipy.spatial` 模块处理空间数据,如判断点是否在边界内、计算最近点等。三角测量是通过测量角度来确定目标距离的方法。多边形的三角测量可将其分解为多个三角形,用于计算面积。Delaunay 三角剖分是一种常用方法,可以对一系列点进行三角剖分。示例代码展示了如何使用 `Delaunay()` 函数创建三角形并绘制。
19 0
|
16天前
|
数据采集 存储 数据挖掘
Python数据分析:Pandas库的高效数据处理技巧
【10月更文挑战第27天】在数据分析领域,Python的Pandas库因其强大的数据处理能力而备受青睐。本文介绍了Pandas在数据导入、清洗、转换、聚合、时间序列分析和数据合并等方面的高效技巧,帮助数据分析师快速处理复杂数据集,提高工作效率。
45 0
|
10天前
|
机器学习/深度学习 数据采集 数据挖掘
解锁 Python 数据分析新境界:Pandas 与 NumPy 高级技巧深度剖析
Pandas 和 NumPy 是 Python 中不可或缺的数据处理和分析工具。本文通过实际案例深入剖析了 Pandas 的数据清洗、NumPy 的数组运算、结合两者进行数据分析和特征工程,以及 Pandas 的时间序列处理功能。这些高级技巧能够帮助我们更高效、准确地处理和分析数据,为决策提供支持。
26 2
|
17天前
|
存储 数据挖掘 数据处理
Python数据分析:Pandas库的高效数据处理技巧
【10月更文挑战第26天】Python 是数据分析领域的热门语言,Pandas 库以其高效的数据处理功能成为数据科学家的利器。本文介绍 Pandas 在数据读取、筛选、分组、转换和合并等方面的高效技巧,并通过示例代码展示其实际应用。
30 2