python 使用pandas 读写excel文件

这篇博客介绍了如何使用Pandas库在Python中读取和写入Excel文件,包括设置sheet_name、header、usecols等参数来定制数据读取,以及如何处理多sheet文件。还展示了如何通过ExcelFile对象提高读取效率,并提供了写入多sheet到一个Excel文件的示例。
摘要由CSDN通过智能技术生成

现在本地创建一个excel表,以及两个sheet,具体数据如下:

sheet1:

 sheet2:

读取excel文件

pandas.read_excel(io, sheet_name=0, header=0, names=None, index_col=None, usecols=None)

io:excel文件路径。

sheet_name:返回指定的sheet。

header:表头,默认值为0。也可以指定多行。当header取值为None时候data打印值最多,0相比None会少一行,1对比0又会在少一行。也就是说设置header为多少,那么那行之前的数据就会缺失。header也可以设置为一个范围值如header=[0, 1]表示前两行为多重索引。

usecols:读取指定的列。

skiprows:跳过特定行。

import pandas

a = pandas.read_excel("t.xlsx",sheet_name=0)#sheet_name可以使用下标,sheet的名称
print(a) #打印所有
print(a.values) #打印除第一行以外的信息
print(a.values[0]) #打印第一行的值
print(data['标题列'].values) #打印具体一列的值

#读取同一文件的不同sheet
data= pandas.read_excel("t.xlsx", ['Sheet1', 'Sheet2'])
print(data)#打印sheet1和sheet2的所有元素
print(data.get('Sheet1')['result'][0]) #打印sheet1表的result列的第一个元素


#sheet_name = None时,返回所有表的数据
data = pandas.read_excel("t.xlsx", sheet_name=None)
print(data)
结果:
"""
{'Sheet1':    case_id account      pswd  hope result
0      1.0     qwe  123456.0  登陆成功  cheng
1      NaN     NaN       NaN   NaN    bai, 'Sheet2':    1  2  3  4  5
0  a  b  c  d  e}
"""

#sheet_name可以选择名称,下标组合方式提取多张表数据
data = pandas.read_excel("t.xlsx", sheet_name=['Sheet1',1])
print(data)
结果:
"""
{'Sheet1':    case_id account      pswd  hope result
0      1.0     qwe  123456.0  登陆成功  cheng
1      NaN     NaN       NaN   NaN    bai, 1:    1  2  3  4  5
0  a  b  c  d  e}
"""

#查询指定列的数据
data = pandas.read_excel('t.xlsx', sheet_name='Sheet1', usecols=['result',])
print(data)
结果:
"""
  result
0  cheng
1    bai
"""
data = pandas.read_excel('t.xlsx', sheet_name='Sheet1', usecols=[0])
print(data)
结果:
"""
   case_id
0      1.0
1      NaN
"""
data = pandas.read_excel('t.xlsx', sheet_name='Sheet1', usecols=[0, 1])
print(data)
结果:
"""
   case_id account
0      1.0     qwe
1      NaN     NaN
"""

ExcelFile:为了更方便地读取同一个文件的多张表格

import pandas


#同时读取一个文件的多个sheet,仅需读取一次内存,性能更好
data = pandas.ExcelFile("t.xlsx")
sheets = pandas.read_excel(data)#sheet_name不写,默认为查第一个sheet的数据
sheets = pandas.read_excel(data, sheet_name="Sheet2")#查看指定sheet的数据
print(sheets)

#也可以这么写
with pandas.ExcelFile("t.xlsx") as xlsx:
    s1 = pandas.read_excel(xlsx, sheet_name="Sheet1")
    s2 = pandas.read_excel(xlsx, sheet_name="Sheet2")
print(s1)
print("-----------------------")
print(s2)

结果:
"""
   case_id account      pswd  hope result
0      1.0     qwe  123456.0  登陆成功  cheng
1      NaN     NaN       NaN   NaN    bai
-----------------------
   1  2  3  4  5
0  a  b  c  d  e
"""
"""
index_col:索引对应的列,可以设置范围如[0, 1]来设置多重索引
na_values:指定字符串展示为NAN
"""
with pandas.ExcelFile('t.xlsx') as xls:
    data['Sheet1'] = pandas.read_excel(xls, 'Sheet1', index_col=None,
                                       na_values=['NA'])
    data['Sheet2'] = pandas.read_excel(xls, 'Sheet2', index_col=1)

    print(data)
    print("-------------------------------")
    print(data['Sheet1'])
    print("--------------------------------")
    print(data['Sheet2'])

结果:
"""
{'Sheet1':    case_id account      pswd  hope result
0      1.0     qwe  123456.0  登陆成功  cheng
1      NaN     NaN       NaN   NaN    bai, 'Sheet2':    1  3  4  5
2            
b  a  c  d  e}
-------------------------------
   case_id account      pswd  hope result
0      1.0     qwe  123456.0  登陆成功  cheng
1      NaN     NaN       NaN   NaN    bai
--------------------------------
   1  3  4  5
2            
b  a  c  d  e
"""

写入文件

将数据写入excel

1.当文件不存在时,会自动创建文件,并写入数据;

2.当文件存在时,会覆盖数据;

3.sheet_name 不写默认为Sheet1;

4.文件写入,切记关闭excel。

data = {'名字': ['张三','李四'],
        '分数': [100, 100]
       }
a= pandas.DataFrame(data)
a.to_excel('1.xlsx', sheet_name='Sheet1',index=False)# index = False表示不写入索引

excel一次写入多sheet:

1.下面代码为在1.xlsx中写入sheet1,sheet2两个表。

2.可以通过在ExcelWriter中添加mode参数,该参数默认为w,修改为a的话,可以在已存在sheet的excel中添加sheet表。

df1 = pandas.DataFrame({'名字': ['张三', '王四'], '分数': [100, 100]})
df2 = pandas.DataFrame({'年龄': ['18', '19'], '性别': ['男', '女']})

with pandas.ExcelWriter('1.xlsx') as writer:
    df1.to_excel(writer, sheet_name='Sheet1', index=False)
    df2.to_excel(writer, sheet_name='Sheet2', index=False)

#新增一个sheet
df3 = pandas.DataFrame({'新增表': ['1', '2']})
with pandas.ExcelWriter('1.xlsx', mode='a') as writer:
    df3.to_excel(writer, sheet_name='Sheet3', index=False)

### 回答1: Python Pandas是一种用于数据分析和操作的强大工具。它可以轻松地处理和操作数据,并具有多种格式的导入和导出功能。其中,写入Excel文件常常是数据分析工作必不可少的一个环节。 使用Python Pandas写入Excel文件的方式非常简单。首先需要导入Pandas库,然后将数据(DataFrame)转换为Excel文件并保存到指定路径。 具体操作步骤如下: 1. 导入Pandas库,通常的方式是使用“import pandas as pd”。 2. 准备数据,将数据存入DataFrame中。 3. 创建一个Excel文件,通过“writer = pd.ExcelWriter('文件路径及名称.xlsx')”指定文件路径和名称,其中“pd.ExcelWriter”是Pandas提供的一个类。 4. 将数据(DataFrame)写入Excel表格中,语法为“dataframe.to_excel(writer, sheet_name='Sheet1')”,其中dataframe为需要写入的数据,writer为创建的Excel文件对象,sheet_name为Excel表格的名称。 5. 最后调用“writer.save()”保存Excel文件。 总体而言,Python Pandas写入Excel文件是一个十分简单和高效的过程。无论是初学者还是数据分析专业人士,都可以通过这种方式将数据灵活地保存在Excel文件中。 ### 回答2: Pandas是一个强大的Python数据分析库,它提供了许多工具来处理和操作数据,其中之一就是写入Excel文档。在本文中,我们将学习如何使用Pandas将数据写入Excel。 1. 导入Pandas库 我们需要首先导入Pandas库,使用如下代码导入: ```python import pandas as pd ``` 2. 准备数据 下一步是准备我们要写入Excel的数据。我们可以使用Pandas的DataFrame对象来创建数据集,或者导入已有的数据集,例如csv,txt等。这里我们使用一个简单的例子,创建一个包含学生姓名和成绩的DataFrame对象: ```python data = {'姓名': ['张三', '李四', '王五', '赵六'], '成绩': [90, 88, 95, 92]} df = pd.DataFrame(data) ``` 3. 写入Excel 现在我们可以开始将数据写入Excel了。Pandas提供了一个名为`to_excel()`的方法,它可以将DataFrame写入Excel文件。我们需要指定Excel文件的名称和存储路径,其中文件名应以`.xlsx`结尾。还可以选择将行和列标签写入Excel文件,指定Sheet名称等。以下是一个完整的示例代码: ```python # 将数据写入excel文件 filepath = 'example.xlsx' # 文件保存路径和名称 sheetname = '成绩单' # Sheet名称 df.to_excel(filepath, sheet_name=sheetname, index=False) ``` 在上面的示例中,`index=False`表示不写入行标签,只写入数据。如果不设置这个参数,默认会写入行标签0,1,2等。 4. 写入多个Sheet 除了将一个Sheet写入ExcelPandas还可以将多个Sheet写入同一个Excel文件。我们只需要在`to_excel()`方法中指定要写入的Sheet名称即可。以下是一个示例代码: ```python # 写入多个sheet filepath = 'example.xlsx' with pd.ExcelWriter(filepath) as writer: df1.to_excel(writer, sheet_name='Sheet1', index=False) df2.to_excel(writer, sheet_name='Sheet2', index=False) ``` 在上面的示例中,我们使用了`pd.ExcelWriter()`方法创建了一个Excel文件对象,然后在`to_excel()`方法中指定了要写入的不同Sheet的名称。 总结 通过上面的例子,我们学习了如何使用Pandas库将数据写入Excel文档。使用Pandas,我们可以很容易地将数据从各种数据源(如csv,txt等)导入到DataFrame对象,然后将其写入Excel文件Pandas还提供了许多其他方法,例如按条件过滤数据,对数据进行统计分析等。无论您是数据分析师、数据科学家还是开发人员,Pandas对于数据处理和分析都是非常有用的工具之一。 ### 回答3: Python中的pandas库是一种用于数据分析的工具。在数据分析中,我们通常需要将处理后的数据保存到excel表格中以便于后续的使用和分享。因此,pandas库提供了将数据写入excel表格的功能。 首先,我们需要使用pandas库中的`DataFrame`类来创建数据表格。接着,使用`to_excel()`方法将数据表格写入excel文件。下面是一个示例代码: ```python import pandas as pd # 创建数据表格 data = {'姓名': ['张三', '李四', '王五'], '年龄': [18, 20, 22], '性别': ['男', '男', '女']} df = pd.DataFrame(data) # 写入excel文件 df.to_excel('data.xlsx', sheet_name='Sheet1', index=False) ``` 以上代码首先创建了一个数据表格,并将其存储在变量`df`中。然后,使用`to_excel()`方法将`df`中的数据写入到名为`data.xlsx`的excel文件中的`Sheet1`工作表中。`index=False`参数表示不将行索引保存到excel文件中。 对于更加详细的pandas写入excel方法的使用,可以参考pandas官方文档或相关教程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值