一、将数据从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文件。