我目前有一个名为“ excel example.xlsx”的Excel文件。我在这个文件中有2张纸。
第一张纸的标题为“首页”,第二张纸的标题为“ Sheet2”。
第1页: 第一页“主页”在第一行中的句子“ This is a test”从单元格A1到列D1结束。
这是主页的示例:
Cell: A1
“此” Cell: B1
“是” Cell: C1
“一个” Cell: D1
“测试”
表2:
在第二张工作表“ Sheet2”中,我希望打印以下数据:
Cell: A1
“ col1” Cell: B1
“ col2”
Cell: A2
“ 21” Cell: B1
“ 23”
Cell: A3
“ 22” Cell: B3
“ 24”
到目前为止,这是我的代码:
import pandas as pd
from pandas import read_excel
my_sheet_name = 'Home'
df1 = read_excel('excel example.xlsx', sheet_name = 'Home')
x = {'col1': [21, 22], 'col2': [23, 24]}
df2 = pd.DataFrame(data=x)
writer = pd.ExcelWriter('excel example.xlsx')
df1.to_excel(writer, 'Home')
df2.to_excel(writer, 'Sheet2')
writer.save()
此代码可以正常工作,但是存在一些格式问题。
问题1:
“首页”表从单元格B1开始打印句子“这是测试”,而不是我想要的A1。单元格A1为空白。
问题2:
“这是测试”一词带有边框。我希望删除边界。
问题3:
“这是测试”一词已加粗。我希望尽可能删除粗体格式。
我是编码的新手,将不胜感激。谢谢!
答案 0 :(得分:0)
From the documentation我修改了to_excel
中传递的参数以包含index=False
来解决您遇到的问题1,因为pandas使用第一列作为索引并解释了Excel的第一行文件作为标题(重写为Excel文件时,因此为粗体和边框)。为了解决问题2和3,我阅读了第一张表,其中添加了header=None
,以使列标题不会被加粗,并重新将数据加载到df2中,以便也没有标题
对我有用的最终代码是:
import pandas as pd
from pandas import read_excel
my_sheet_name = 'Home'
df1 = read_excel('excel example.xlsx', sheet_name = 'Home', header=None)
x = {'0': ['col1', 21, 22], '1': ['col2', 23, 24]}
df2 = pd.DataFrame(data=x)
writer = pd.ExcelWriter('excel example.xlsx')
df1.to_excel(writer, 'Home', index=False)
df2.to_excel(writer, 'Sheet2', index=False)
writer.save()