使用 pandas 读取和编辑 excel 文件

Posted

技术标签:

【中文标题】使用 pandas 读取和编辑 excel 文件【英文标题】:Reading and editing excel files with pandas 【发布时间】:2018-10-24 04:09:46 【问题描述】:

所以,我正在读取 xlsx 文件,我需要选择 3 个特定列,然后重命名它们,并将每列的前 100 行转移到一个新的 xlsx 文件中,从原始文件中删除它们。

到目前为止,我的代码是从手动编辑的 xlsx 文件中读取的,我在其中重命名列,选择其中的前 100 个(标题除外),等等:

df = pandas.read_excel('test.xlsx', names=['date', 'value', 'source'])
df['date'] = pandas.to_datetime(df['date'], format='%b %d %Y.%f').astype(str)

print(df.head(5))

正如预期的那样返回:

         date    value               source

0  2018-05-01      1                xxxxxxx
1  2018-05-01      1      xxxxxxxxxxxxxxxxx
2  2018-05-02      1      xxxxxxxxxxxxxxxxx
3  2018-05-02      1      xxxxxxxxxxxxxxxxx
4  2018-05-03      1     xxxxxxxxxxxxxxxxxx

有没有办法用 pandas 自动读取和编辑 xlsx 文件?其他库?我是 python 新手,我真的迷路了:(

【问题讨论】:

【参考方案1】:

似乎您需要 2 个文件输出。前一百行一个,其余的一个。 pandas.DataFrame.iloc 很简单:

import pandas as pd

df = pd.read_excel('test.xlsx', names=['date', 'value', 'source'])

df.iloc[:100].to_excel('out1.xlsx', index=False)
df.iloc[100:].to_excel('out2.xlsx', index=False)

【讨论】:

谢谢!这真的帮助了我,现在我想知道是否有办法制作一个脚本来自动化 excel 编辑部分。 @GabrielFernandes,不幸的是,不确定该部分需要什么。您需要指定精确的转换。如有必要,请随时询问new question。

以上是关于使用 pandas 读取和编辑 excel 文件的主要内容,如果未能解决你的问题,请参考以下文章

Python pandas读取csv txt excel和mysql数据库文件方法

Python pandas读取csv txt excel和mysql数据库文件方法

Python pandas读取csv txt excel和mysql数据库文件方法

怎么调用pandas读取csv文件

使用 pandas 从 Excel 文件中读取最后一列

pandas读取和写入excel,csv太慢怎么办