使用python读写xlsx格式中的数据【pandas】

28 篇文章 1 订阅

1、写入数据

示例代码:

"""
    pandas将数据写入excel文件
"""
import pandas
import string
import random

data_list = []
for i in range(20):
    data_dict = {"num": i, "title": "".join(random.sample(string.ascii_letters, 2)),
                 "value": "".join(random.sample(string.digits, 2))}
    print(data_dict)
    data_list.append(data_dict)

# 创建DataFrame数据对象
df = pandas.DataFrame(data_list)
df.to_excel('./data/pandas_to_excel.xlsx', sheet_name="Sheet1", index=False, header=True)

运行结果:

2、读取数据

使用pandas库来读取xlsx格式中的数据。

excel中数据:

示例代码:

import pandas as pd

# data = pd.read_excel('./data/体检表.xlsx')
# data = pd.read_excel('./data/体检表.xlsx', sheet_name='Sheet1')
data = pd.read_excel('./data/体检表.xlsx', sheet_name=0)
print(data)

print("*" * 100)

data = pd.read_excel('./data/体检表.xlsx', sheet_name=0, header=0, usecols=[1, 2, 4])
"""
sheet_name:返回指定的sheet,如果将sheet_name指定为None,则返回全表,如果需要返回多个表,可以将sheet_name指定为一个列表,例如['sheet1', 'sheet2']
header:指定数据表的表头,默认值为0,即将第一行作为表头。
usecols:读取指定的列,例如想要读取第一列和第二列数据
"""
print(data)

运行结果:

3、修改数据

示例代码1:  【修改xlsx中的数据】

import pandas as pd
from pandas import DataFrame

data = pd.read_excel('./data/体检表.xlsx', sheet_name='Sheet1')
print(data)

# 将性别中的男修改为数字0,女修改为数字1
data['性别'][data['性别'] == '男'] = 0
data['性别'][data['性别'] == '女'] = 1
print(data)

"""
注意:这里的data为excel数据的一份拷贝,对data进行修改并不会直接影响到我们原来的excel,必须在修改后保存才能够修改excel。
"""
# 下面代码将会新建一个文件,如果存在则会覆盖整个文件,类似于‘w’模式
# DataFrame(data).to_excel('./data/体检表4.xlsx', sheet_name='Sheet1', index=False, header=True)
data.to_excel('./data/体检表2.xlsx', sheet_name='Sheet1', index=False, header=True)

运行结果:

示例代码2:  【对excel文件进行修改,添加某些列】

import pandas as pd
import json

with open('country_info.txt', 'r', encoding='utf-8') as f:
    country_data = json.load(f)
"""
{
	"AO": ["Angola", "安哥拉", "244"],
	"AF": ["Afghanistan", "阿富汗", "93"],
	"AL": ["Albania", "阿尔巴尼亚", "355"]
}
"""

df = pd.read_excel('facebook.xlsx')

df['电话代码'] = 0

# 获取excel表格的行列
row, col = df.shape
print(row, col)

for i in range(row):
    tmp = df.iloc[i]
    print(i, tmp['地区代码'], tmp['whatsapp'])
    if pd.isnull(tmp['地区代码']):
        break
    tmp['城市'] = country_data[tmp['地区代码']][1]
    tmp['电话代码'] = country_data[tmp['地区代码']][2]
    phone = str(tmp['whatsapp']).replace('+', '').replace('’', '').replace('‘', '').replace("'", "")
    if phone[:len(tmp['电话代码'])] != tmp['电话代码']:
        phone = "+" + str(tmp['电话代码']) + str(phone)
    else:
        phone = "+" + str(phone)
    df.iloc[i, 2] = phone
    df.iloc[i, 6] = tmp['城市']
    df.iloc[i, 8] = tmp['电话代码']

df.to_excel('facebook_new.xlsx', sheet_name='Sheet1', index=False, header=True)
  • 1
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要读取 xlsx 文件,可以使用 Python 的 openpyxl 库。以下是一个简单的例子: ```python import openpyxl # 打开 Excel 文件 wb = openpyxl.load_workbook('example.xlsx') # 选择要操作的表单 sheet = wb['Sheet1'] # 读取单元格的值 cell_value = sheet['A1'].value # 遍历行 for row in sheet.rows: for cell in row: print(cell.value) ``` 在这个例子,我们打开了名为 `example.xlsx` 的 Excel 文件,并选择了其的 `Sheet1` 表单。然后我们读取了一个单元格的值,并遍历了整个表单的所有单元格。 ### 回答2: Python可以使用openpyxl库来读取xlsx文件。首先,需要安装openpyxl库,可以使用pip install openpyxl命令来安装。然后,可以使用如下代码来读取xlsx文件: ```python from openpyxl import load_workbook # 打开xlsx文件 workbook = load_workbook(filename='example.xlsx') # 获取第一个工作表 sheet = workbook.active # 遍历工作表的每一行 for row in sheet.iter_rows(): # 遍历行的每一列 for cell in row: # 打印每个单元格的值 print(cell.value) # 关闭工作表 workbook.close() ``` 以上代码首先使用`load_workbook`函数打开xlsx文件,可以使用`filename`参数指定文件路径。然后,使用`active`属性获取文件的第一个工作表,也可以使用`get_sheet_by_name`函数来根据工作表的名称获取指定的工作表。接下来,可以使用`iter_rows`函数遍历工作表的每一行,再使用内层循环遍历行的每一列。通过`value`属性可以获取每个单元格的值。 最后,记得使用`close`方法关闭工作表,释放资源。 通过以上代码,可以读取xlsx文件数据,并进行相应的操作。 ### 回答3: Python读取xlsx文件可以使用第三方库openpyxl。首先,需要安装openpyxl库,可以通过命令`pip install openpyxl`进行安装。 然后,可以使用openpyxl库的load_workbook函数来加载xlsx文件。load_workbook函数接受文件路径作为参数,返回一个Workbook对象,表示整个工作簿。例如,可以使用如下代码加载一个名为“example.xlsx”的文件: ``` from openpyxl import load_workbook # 加载xlsx文件 wb = load_workbook('example.xlsx') ``` 接下来,可以通过Workbook对象获取工作簿的表格。可以使用wb.sheetnames属性获取所有表格名称,并通过wb[sheetname]来获取指定表格。例如,可以使用如下代码获取名为“Sheet1”的表格: ``` # 获取表格 sheet = wb['Sheet1'] ``` 获取表格后,可以通过遍历行和列的方式来获取单元格的数据。例如,可以使用如下代码遍历Sheet1表格的所有数据: ``` # 遍历数据 for row in sheet.iter_rows(): for cell in row: print(cell.value) ``` 最后,记得使用Workbook对象的close方法来关闭文件: ``` # 关闭文件 wb.close() ``` 通过以上步骤,就可以使用Python读取xlsx文件了。读取到的数据可以根据需求进行处理和分析。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值