关键词

python实现读Excel写入.txt的方法

下面我为你提供一份 Python 实现读 Excel 写入 txt 的完整实例教程。主要步骤如下:

步骤一:安装依赖库

在 Python 中读取和处理 Excel 文件需要安装第三方库,这里我们使用 pandasopenpyxl。可以通过以下命令来安装依赖库:

pip install pandas openpyxl

步骤二:读取 Excel 文件

接下来,我们需要使用 pandas 库来读取 Excel 文件,可以使用 read_excel() 函数来实现。示例代码如下:

import pandas as pd

# 读取Excel文件
df = pd.read_excel('data.xlsx', sheet_name='Sheet1') # data.xlsx 是文件名,Sheet1 是表格名称

上面的代码会将 data.xlsx 文件中的 Sheet1 表格读入到内存中,并存储为一个 pandas 的 DataFrame 对象。

步骤三:处理数据

我们可以使用 pandas 提供的 API 对 DataFrame 中的数据进行处理,例如将表格数据按照一定规则进行过滤、排序、转换等操作。这里我们以将 Excel 文件中的数据转换为纯文本的行列表为例,代码如下:

# 将Excel数据转换为行列表
rows_list = df.values.tolist()
text_list = ['\t'.join(map(str, row)) for row in rows_list]

上述代码中,我们首先将 DataFrame 对象转换为行列表 rows_list,然后使用列表推导式将每一行数据转换为文本格式,并将每一行文本存储在列表中,最终得到的就是一个包含所有行文本的列表 text_list

步骤四:写入文本文件

最后一步,我们需要将数据写入到文本文件中。这里我们使用 Python 自带的文件操作函数,将文本列表写入到指定的文件中。代码如下:

# 将文本写入txt文件
with open('data.txt', 'w') as f:
    for line in text_list:
        f.write(line + '\n')

上述代码中,我们使用 with open() 语句打开一个文件句柄 f,然后遍历列表中的每一行文本,并将其写入到文件中。需要注意的是,在文本的末尾添加了个换行符 \n

示例说明

下面我们通过两个示例来说明以上过程:

示例一:将 Excel 中的数据写入 txt 文件

假设 Excel 文件中有以下数据:

姓名 年龄 体重(kg)
张三 25 60
李四 30 70
王五 35 80

我们想将这些数据转换为文本格式,并写入到一个 txt 文件中。这时我们将以上步骤整合在一起,得到以下完整的代码:

import pandas as pd

# 读取Excel文件
df = pd.read_excel('data.xlsx', sheet_name='Sheet1')

# 将Excel数据转换为行列表
rows_list = df.values.tolist()
text_list = ['\t'.join(map(str, row)) for row in rows_list]

# 将文本写入txt文件
with open('data.txt', 'w') as f:
    for line in text_list:
        f.write(line + '\n')

这样,运行代码后,就会生成一个名为 data.txt 的文本文件,其中包含了转换后的文本数据,如下所示:

张三  25  60
李四  30  70
王五  35  80

示例二:根据 Excel 数据生成 SQL 插入语句

假设 Excel 文件中有以下数据:

id 姓名 年龄 体重(kg)
1 张三 25 60
2 李四 30 70
3 王五 35 80

我们想将这些数据生成一些 SQL 插入语句,方便将数据插入到数据库中。这时我们可以先将 Excel 数据转换为 pandas DataFrame,然后通过字符串拼接的方式生成 SQL 语句。示例代码如下:

import pandas as pd

# 读取Excel文件
df = pd.read_excel('data.xlsx', sheet_name='Sheet1')

# 将Excel数据转换为行列表
rows_list = df.values.tolist()

# 生成SQL插入语句
sql_list = []
for row in rows_list:
    sql = "INSERT INTO table_name (id, name, age, weight) VALUES ({}, '{}', {}, {});".format(row[0], row[1], row[2], row[3])
    sql_list.append(sql)

# 将SQL语句写入txt文件
with open('data.sql', 'w') as f:
    for line in sql_list:
        f.write(line + '\n')

上述代码中,我们先将 Excel 数据读取到内存中,并转换为行列表 rows_list。然后我们遍历 rows_list,将每一行数据转换为 SQL 语句,并将 SQL 语句存储在列表 sql_list 中。最后,我们将 SQL 列表写入到名为 data.sql 的文本文件中。

通过以上代码,我们可以生成以下 SQL 语句:

INSERT INTO table_name (id, name, age, weight) VALUES (1, '张三', 25, 60);
INSERT INTO table_name (id, name, age, weight) VALUES (2, '李四', 30, 70);
INSERT INTO table_name (id, name, age, weight) VALUES (3, '王五', 35, 80);

这些 SQL 语句可以方便地插入到数据库中,从而实现批量插入数据的操作。

本文链接:http://task.lmcjl.com/news/13607.html

展开阅读全文