python 读取excel后,根据其中一列的字段值,新建列,并赋值
时间: 2024-04-11 11:26:08 浏览: 17
在读取 Excel 文件后,你可以使用 pandas 库来根据某一列的字段值创建新列,并给新列赋值。下面是一个示例:
```python
import pandas as pd
# 读取 Excel 文件
df = pd.read_excel('your_file.xlsx')
# 根据某一列的字段值创建新列,并赋值
df['新列名'] = df['某一列名'].apply(lambda x: '赋值1' if x == '某个字段值1' else ('赋值2' if x == '某个字段值2' else '赋值3'))
# 打印修改后的 DataFrame
print(df)
```
在上述示例中,通过 `apply` 方法和 `lambda` 函数,我们根据列 `'某一列名'` 的字段值进行判断,并将对应的赋值结果保存在新列 `'新列名'` 中。你可以根据实际需求修改 `'新列名'` 和判断条件的赋值部分。
请确保你已经安装了 pandas 库,如果没有安装,可以通过 `pip install pandas` 命令进行安装。
相关问题
Python按列筛选数据并给新字段赋值
假设你有以下数据:
```
id,name,age
1,Alice,25
2,Bob,30
3,Charlie,35
```
你想按照年龄大于等于30的人来筛选数据,并给新字段"is_old"赋值为True,否则为False。可以按照以下步骤操作:
1. 读取数据并转换为pandas DataFrame格式。
```python
import pandas as pd
data = pd.read_csv("data.csv")
df = pd.DataFrame(data)
```
2. 筛选数据并给新字段赋值。
```python
df["is_old"] = df["age"] >= 30
```
这将会在原始数据的基础上新增一个名为"is_old"的字段,并根据年龄是否大于等于30来赋值为True或False。
3. 输出结果。
```python
print(df)
```
输出结果为:
```
id name age is_old
0 1 Alice 25 False
1 2 Bob 30 True
2 3 Charlie 35 True
```
这样,你就成功按列筛选数据并给新字段赋值了。
用pandas修改excel某一列的某个字段
假设我们要修改excel文件中的'Student'列,将所有名字为'John'的学生改为'Jack',可以使用pandas的loc方法来实现:
1. 首先导入pandas库:
```python
import pandas as pd
```
2. 读取excel文件并将其转换为pandas的DataFrame对象:
```python
df = pd.read_excel('filename.xlsx')
```
3. 使用loc方法选取要修改的数据行,并使用赋值语句修改对应的数据:
```python
df.loc[df['Student'] == 'John', 'Student'] = 'Jack'
```
4. 最后将修改后的DataFrame对象保存回excel文件:
```python
df.to_excel('filename.xlsx', index=False)
```
完整代码如下:
```python
import pandas as pd
# 读取excel文件并转换为DataFrame对象
df = pd.read_excel('filename.xlsx')
# 修改'Student'列中名字为'John'的数据为'Jack'
df.loc[df['Student'] == 'John', 'Student'] = 'Jack'
# 将修改后的DataFrame对象保存回excel文件
df.to_excel('filename.xlsx', index=False)
```