我是初学者,把每一步讲的详细点
时间: 2024-03-01 08:51:01 浏览: 28
好的,我来详细讲解一下:
第一步:使用pandas库读取指定地址的.xlsx文件,并且抓出该文件中指定的子表格中指定的某一列。同时在把该列抓取出来之前,做简单筛选,去掉重复项。
1. 首先需要导入pandas库,pandas是一个数据处理库,它提供了一些简便的方法来读取、处理和分析数据。
``` python
import pandas as pd
```
2. 接着,使用pandas的read_excel函数读取指定的.xlsx文件,该函数可以读取Excel文件中的指定工作表,并将其转换为pandas的DataFrame对象。
``` python
df = pd.read_excel(file_path, sheet_name=sheet_name)
```
其中,file_path是.xlsx文件的路径,sheet_name是指定的工作表名字。
3. 选取指定列,去重后返回该列数据。pandas的DataFrame对象可以像字典一样访问列,将列名作为键。在代码中,我们使用unique()函数去掉重复项。
``` python
selected_column = df[column_name].unique().tolist() # 去重
```
其中,column_name是指定的列名字。
4. 最后返回选取并去重后的列数据。
``` python
return selected_column
```
第二步:使用pandas库读取指定地址的.csv文件,并且抓出该文件中指定的某一列。
1. 同样需要导入pandas库。
``` python
import pandas as pd
```
2. 使用pandas的read_csv函数读取指定的.csv文件,该函数可以读取csv文件并将其转换为pandas的DataFrame对象。
``` python
df = pd.read_csv(file_path)
```
其中,file_path是.csv文件的路径。
3. 选取指定列,并将其转换为列表返回。pandas的DataFrame对象可以像字典一样访问列,将列名作为键。
``` python
selected_column = df[column_name].tolist()
```
其中,column_name是指定的列名字。
4. 最后返回选取的列数据。
``` python
return selected_column
```
第三步:使用difflib库,比较1,2两步中抓取的两个不同的列数据,并将结果保存至指定地点的TXT文件中。
1. difflib是Python标准库中的一个模块,提供了一些比较序列的方法。
``` python
import difflib
```
2. 使用ndiff函数比较两个列数据的不同之处。ndiff函数返回一个生成器,每次生成器会生成一个字符串,表示两个序列中的一项。字符串的第一个字符表示两个序列中的不同之处,"+"表示第一个序列中的项,"-"表示第二个序列中的项," "表示两个序列中的相同项。
``` python
diff = difflib.ndiff(column1, column2)
```
其中,column1和column2是两个列数据。
3. 将不同之处保存至TXT文件中。在代码中,我们打开指定的TXT文件并使用文件对象的write方法将不同之处写入文件中。
``` python
with open(result_file_path, 'w') as f:
for line in diff:
if line.startswith('+') or line.startswith('-'):
f.write(line)
```
其中,result_file_path是指定的TXT文件路径。
最后,将上述三个函数组合起来,即可实现指定需求。在测试时,可以自行修改文件路径、sheet名字、列名等参数。最终结果会保存至指定的TXT文件中。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)