Tag: pandas

pandas数据框:保存并读取Excel表格| 将整数作为string处理

我有一个pandas数据框(df)。 df有很多列和行,其中很多是整数。 我的意图是将数据框保存为excel文件,并在保持数据完整性的同时再次读取。 我正在使用以下步骤。 保存到excel中: writer = pd.ExcelWriter("myExcelFile.xlsx") df.to_excel(writer, 'sheet_name') writer.save() 从excel中读取: import glob files = glob.glob("myExcelFile*.xlsx") #gives list of files myFile = files[0] df = pd.read_excel(myFile , sheetname='sheet_name', convert_float=True) 请注意选项“ convert_float ”。 据说,excel以浮点格式保存所有数字。 所以这个选项应该有助于将所有的浮点值转换为可能的整数。 例如,1.0 – > 1。 我的要求是获取我打算保存在Excel表格中的原始整数值,并在稍后检索。 但是,这不起作用的原因。 我在哪里错了? 有没有办法,我可以处理,在保存到Excel中? 我试图解决这个问题,通过将整数变为string,在Excel中存储string,从Excel中读取string,重新转换为整数。 但是,我和我的应用程序的痛苦是太严重: – /

不能通过writer.save保存excel

我尝试添加一个数据框到现有的excel文件 ,我在这个问题下阅读了一个答案: 如何写入到现有的excel文件而不覆盖数据(使用pandas)? filename = 'template.xlsx' wb_target = load_workbook(filename) writer = pd.ExcelWriter(filename, engine='openpyxl') writer.wb_target = wb_target writer.sheets = dict((ws.title, ws) for ws in wb_target.worksheets) df_selection2.to_excel(writer,sheet_name='Selection',startrow=7, startcol=6,header=False, index=False) writer.save() 但是还是有一些问题: IndexError Traceback (most recent call last) <ipython-input-3-3ca40cf2bef3> in <module>() 17 18 df_selection2.to_excel(writer,sheet_name='Selection',startrow=7, startcol=6,header=False, index=False) —> 19 writer.save() 20 21 #df_selection2.to_excel(writer,sheet_name='Selection',startrow=7, startcol=6,header=False, index=False) C:\Anaconda3\lib\site-packages\pandas\io\excel.py in save(self) 725 […]

pandas阅读excel值不是公式

有没有办法让pandas只读取Excel中的值而不是公式? 它读NaN中的公式,除非我进入并在运行代码之前手动保存excel文件。 我只是用pandas的基本读取excel函数, import pandas as pd df = pd.read_excel(filename, sheetname="Sheet1") 这将读取值,如果我已经进入并保存该文件之前运行的代码。 但是在运行代码来更新一个新表单之后,如果我不进去并保存这个文件并且试着再次运行这个文件,它会把公式读作NaN而不是只读取这些值。 是否有任何人知道这只会读取大pandas的价值观?

如何将xls中的所有字段作为string导入pandas数据框?

我正在尝试从xlsx导入一个文件到一个Python Pandas数据框。 我想阻止字段/列被解释为整数,从而失去前导零或其他所需的异构格式。 所以对于一个有100列的Excel工作表,我会用范围(99)的dict理解来做下面的事情。 import pandas as pd filename = 'C:\DemoFile.xlsx' fields = {col: str for col in range(99)} df = pd.read_excel(filename, sheetname=0, converters=fields) 这些导入文件始终有不同数量的列,我正在寻找处理这种方式,而不是一直手动更改范围。 有人有任何进一步的build议或替代Excel文件读取到一个数据框,默认情况下所有字段视为string? 非常感谢!

如何在Excel中使用xlsx包在Python中格式化特定的单元格

我有一个pandasdf,我正在格式化使用xlsx包目前我可以select使用xlsx格式化整行或列,但不是特定的单元格也想在DF之间插入几行。 图片附加了我希望看到的Excel文件。 下面的代码给了我在图像的第一部分的文件。 我需要做一些更多的格式,比如插入新的行,使D13和E13用斜体表示。 writer = pd.ExcelWriter('Sample Report Test.xlsx' , engine='xlsxwriter') df.to_excel(writer , index= False , sheet_name='Sample Report') workbook = writer.book worksheet = writer.sheets['Sample Report'] money_fmt = workbook.add_format({'num_format':'$#,##0' , 'font_name':'Batang' }) font_fmt = workbook.add_format({'font_name':'Batang' , 'bold':True }) tot_fmt = workbook.add_format({'num_format':'$#,##0' , 'font_name':'Batang' , 'bold':True }) worksheet.set_column('A:B' , 25 , font_fmt) worksheet.set_column('C:P' , 15 , money_fmt) […]

如何parsingExcel表格中的数据框(使用Python,可能是Pandas)

我正在处理严重的Excel表格,我试图parsing并写入数据库。 每张纸可以有多个表。 尽pipe这些可能的表格的标题是已知的,但是在任何给定的表格上哪些表格不是,它们在表格上的确切位置(表格不以一致的方式alignment)。 我已经添加了两个可能的工作表布局的图片来说明这一点: 这个布局有两个表,而这个表有第一个表的所有表,但不在同一个位置,加上一个额外的表。 我所知道的是: 所有可能的表头,所以每个单独的表可以通过它的头标识 表格由空格分隔。 他们不相互接触。 我的问题是否有一个干净的方式来处理这个使用一些Python模块,如pandas? 我目前的做法 : 我目前正在转换为.csv并parsing每一行。 我将每行分割为空白单元格,并处理该行的第一部分(应该属于最左边的表格)。 行的其余部分排队并稍后以相同的方式处理。 然后我读这个first_part并检查它是否是一个标题行。 如果是这样,我用它来确定我正在处理哪个表(这是存储在一个全球current_df )。 后面的行不是标题行被送入这个表(这里我使用pandas.DataFrame为我的表)。 目前的代码是低于(大部分是不完整的,未经testing,但它应该传达上面的方法): class DFManager(object): # keeps track of current table and its headers current_df = None current_headers = [] def set_current_df(self, df, headers): self.current_headers = headers self.current_df = df def split_row(row, separator): while row and row[0] == […]

我可以确保单元格是使用Pandas Xlsxwriter写入date或时间格式吗?

我正在使用Pandas Xlsxwriter将文件创build时间写入Excel表格,但是我无法find我可以指定单元格格式的位置。 因此,我的时间戳以Excel中的文本forms出现 这是我的代码的相关部分 for d, dirs, files in os.walk(folder): for f in files: full_name = path.join(d, f) if path.isfile(full_name): time_info = [(fn(full_name)) for fn in (path.getatime, path.getmtime, path.getctime)] dict1 = [datetime.fromtimestamp(time_info[0]).strftime('%d.%m.%Y %H:%M:%S'), datetime.fromtimestamp(time_info[0]).strftime('%d.%m.%Y %H:%M:%S')] dict2.append(dict1) df = pd.DataFrame(dict2, columns=('the last access time', 'time changes') writer = pd.ExcelWriter('listdir1.xlsx', engine='xlsxwriter', datetime_format='dd.mm.yyyy', date_format='dd.mm.yyyy') df.to_excel(writer, index=False) writer.save() 这是它在Excel中的外观

Python:在Excels中读取并分配名称

我有一个Excel文件名为多个表:a,b,c,d,e …..,z我可以阅读表使用以下代码 xl=pd.ExcelFile(r'path.xlsx') a=xl.parse('a') 我如何将表单的名称:a,b,c …,z分配为数据框名称,以便以后可以轻松调用

用大pandas过滤excel数据时出现KeyError错误

我正在尝试从Python中的Excel数据中读取和过滤。 我使用下面的代码: import pandas as pd import numpy as np df = pd.read_excel('file.xlsx') df['apples'] = (pd.cut(df['apples'],bins=[-np.inf,2,5,np.inf],labels=['WOW','ok','BOB'])) print(df) 这是我的excel文件 但KeyError:“苹果”发生。 你有什么build议,我该如何解决这个问题?

pandas:根据公共列名称将多个数据框中的列提取到新的数据框中

我从Excel导入4个数据集,包含2013学年,2014,2015和2016学年的total_budget。所有数据集都有一个共同的列,每个学校的ID代码(列LAESTAB)。 我想要一个新的数据集,左边是共同列LAESTAB(4个数据集中的值相同),然后是总共2013,总计2014,总计2015和总数2016(来自不同数据集)。 我也想摆脱其余的数据,包括所有数据集中不存在的学校ID。 我将尝试在一个例子中进一步阐述它: 下面是一个Excel数据集的例子: >>> print cuts2016.head() LA_codelocal_authority_name UPIN URN LAESTAB \ 0 201 City of London 500000 0.0 2013614 1 202 Camden 500005 0.0 2022095 2 202 Camden 500007 0.0 2022219 3 202 Camden 500012 0.0 2022502 4 202 Camden 500014 0.0 2022603 School Name Academy? Phase Provider Type \ 0 Sir John […]