Tag: pandas

pandas:遍历DataFrames列表并将其导出到Excel表单

试图教自己编码,以自动化一些繁琐的工作。 我为任何无意的无知道歉。 我在pandas(python 3.x)中创build了数据框架。 我想打印每个数据框到不同的Excel表。 这里是我有2个数据框架,它的工作原理是完美的,但我想要缩放它来循环通过一个数据框架列表,这样我可以使它更加dynamic。 writer = pandas.ExcelWriter("MyData.xlsx", engine='xlsxwriter') Data.to_excel(writer, sheet_name="Data") ByBrand.to_excel(writer, sheet_name="ByBrand") writer.save() 很简单,但是当有50多张纸需要被创build时,它会变得乏味。 这是我试过的,它不起作用: writer = pandas.ExcelWriter("MyData.xlsx", engine='xlsxwriter') List = [Data , ByBrand] for i in List: i.to_excel(writer, sheet_name= i) writer.save() 我认为问题是sheet_name字段必须是一个string,因为它是创build一个错误。 但是如果我把sheet_name =“i”,它只会用Data中的数据创build一个名为“i”的表单,但是不会迭代到ByBrand。 而且,如果表单没有命名为相应的数据框,那么excel文件将是一场噩梦,所以请不要对像编号表单这样的东西提出build议。 提前感谢你,这个网站对我的编程之旅来说是非常宝贵的。 -Stephen

python – 如何处理“旧”的date,当数据传输到Excel

我有其中一列包含datestring的数据框。 我首先将它转换为datetime: mydf['Desk Date'] = pd.to_datetime(mydf['Desk Date'])` 然后放下数据框来优化 Range('A1').value = mydf` 我得到以下错误: Traceback (most recent call last): File "C:\Program Files (x86)\Python271\lib\site-packages\IPython\core\interactiveshell.py", line 3035, in run_code exec(code_obj, self.user_global_ns, self.user_ns) File "<ipython-input-111-6c6f5ea1ff17>", line 1, in <module> Import.ImportFWD(test_path) File "C:\Users\jastrzem\Downloads\pyWFP\Import.py", line 42, in ImportFWD Range('A1').value = mydf File "C:\Program Files (x86)\Python271\lib\site-packages\xlwings\main.py", line 818, in value self.row1, self.col1, row2, […]

比较来自不同excel文件的列,并在每个输出的开头添加一列

我想开始说,我不是Excel专家,所以我需要一些帮助。 假设我有3个excel文件: main.xlsx , 1.xlsx和2.xlsx 。 在他们所有的我有一个名为Serial Numbers的列。 我不得不: 查找1.xlsx和2.xlsx所有序列号 ,并validation它们是否在main.xlsx 。 如果find一个序列号: 在main.xlsx的最后一列上,在同一行上find的编号为OK + name_of_the_file_in which_it_was_found的序列号 OK + name_of_the_file_in which_it_was_found 。 否则写NOK 。 同时,如果find序列号,则在最后一列写入1.xlsx和2.xlsx ok或nok 。 提及 : serial number可以在1.xlsx和2.xlsx上的不同列上 例: main.xlsx name date serial number phone status ab abcd c <– ok,2.xlsx bc 1234 d <– ok,1.xlsx cd 3456 e <– ok,1.xlsx de […]

使用pandas在Python中循环多个Excel文件

我知道这种问题总是被问到。 但是我很难找出最好的方法来做到这一点。 我写了一个脚本,用pandas重新格式化一个excel文件。 它工作很好。 现在我想循环多个 excel文件,进行相同的重新格式化操作,并将每个excel表格最近重新格式化的数据放在底部。 我相信第一步是要制作目录中所有excel文件的列表。 有很多不同的方法来做到这一点,所以我很难find最好的方法。 以下是我目前用来导入多个.xlsx并创build一个列表的代码。 import os import glob os.chdir('C:\ExcelWorkbooksFolder') for FileList in glob.glob('*.xlsx'): print(FileList) 我不确定是否以前的glob代码实际上创build了我需要的列表。 然后我不知道从哪里去。 下面的代码在pd.ExcelFile(File)失败pd.ExcelFile(File)我相信我失去了一些东西…. # create for loop for File in FileList: for x in File: # Import the excel file and call it xlsx_file xlsx_file = pd.ExcelFile(File) xlsx_file # View the excel files sheet names xlsx_file.sheet_names […]

将pandas数据框中的数据行移动到最后一列的末尾

Python新手,请温柔。 我有多个Excel电子表格的两个“中间部分”的数据,我想将其分离成一个pandas数据框。 以下是一个数据截图的链接。 在每个文件中,我的标题在行4中,数据在行5-15,列B:O中。 标题和数据然后继续在行21上的标题,在行22-30,列B:L中的数据。 我想从第二组移动标题和数据,并将它们追加到第一组数据的末尾。 此代码捕获第4行的数据头和第B:O列中的数据,但捕获包含第二个Header和第二个数据集的Header下的所有行。 如何移动第二组数据并将其附加到第一组数据之后? path =r'C:\Users\sarah\Desktop\Original' allFiles = glob.glob(path + "/*.xls") frame = pd.DataFrame() list_ = [] for file_ in allFiles: df = pd.read_excel(file_,sheetname="Data1", parse_cols="B:O",index_col=None, header=3, skip_rows=3 ) list_.append(df) frame = pd.concat(list_) 我的数据的屏幕截图

用python把值写入pandas表单中的特定单元格

我有一个Excel表格,在一些单元格中已经有一些值。 例如: – ABCD 1 val1 val2 val3 2 valx valy 我想要pandas写入特定的细胞,而不触及任何其他细胞,表格等 这是我试过的代码。 import pandas as pd from openpyxl import load_workbook df2 = pd.DataFrame({'Data': [13, 24, 35, 46]}) book = load_workbook('b.xlsx') writer = pd.ExcelWriter('b.xlsx', engine='openpyxl') df2.to_excel(writer, "Sheet1", startcol=7,startrow=6) writer.save() 但是,此代码删除旧的单元格值。 我已经回答: 如何写入现有的Excel文件,而不覆盖数据(使用pandas)? 但是这个解决scheme不起作用。

Xlsxwriter – 无法格式化使用xlsxwriter的pandas数据框单元格

我有一个来自pandas数据框的Excel表格。 然后,我使用Xlsxwriter来添加公式,新列和格式。 问题是我似乎只能格式化我用xlsxwriter写的东西,没有什么来自数据框。 所以我得到的就是这个半格式表 从图像中可以看出,dataframe中的两列保持不变。 他们必须有某种默认的格式,这是压倒我的。 由于我不知道如何将工作表转换回数据框,下面的代码显然是完全错误的,只是给出了我正在寻找的东西。 export = "files/sharepointExtract.xlsx" df = pd.read_excel(export)# df = dataframe writer = pd.ExcelWriter('files/new_report-%s.xlsx' % (date.today()), engine = 'xlsxwriter') workbook = writer.book # Code to make the header red, this works fine because # it's written in xlsxwriter using write.row() colour_format = workbook.add_format() colour_format.set_bg_color('#640000') colour_format.set_font_color('white') worksheet.set_row(0, 15, colour_format) table_body_format = […]

Python – 更改数据框的标题颜色并将其保存到Excel文件

我有一个数据框df ,我想要改变标题的背景颜色,应用边框,并将其保存为.xlsx扩展名的excel文件。 我已经尝试了styleframe,在openpyxl中的一些function,并试图写udf s,但似乎没有任何工作。

将日常Excel数据组织成xarray数据集

比方说,我想用xarray来处理一些日常天气数据,这些数据的组织方式与xarray文档中的这个例子类似: 但是,数据在多个Excel文件中提供给我,其中每个文件包含一天的数据 。 文件名包含date信息,文件看起来像这个玩具的例子里面: XY Temp Prec 1 1 21 34 1 2 24 4 1 3 22 35 2 1 23 36 我能够读取到pandas数据框的文件: for f in files: datestring = f.split('.')[0] date = datetime.strptime(datestring, '%Y%m%d') df = pd.read_excel(f, 0) df['Date'] = date 我可以使用所有数据( dfAll.append(df) )创build一个大数据dfAll.append(df)并在数据xr.Dataset.from_dataframe(df)和数据集之间进行转换( xr.Dataset.from_dataframe(df) )。 但是,我无法重新索引和组织数据集,如图所示。 我的数据集最终看起来如下所示: <xarray.Dataset> Dimensions: (index: 120) Coordinates: * […]

字典名称字典键和值使用pandas

我正在使用pandas将一些数据转储到excel文件中。 数据是字典格式,我正在使用下面的代码来转储它。 df1 = pd.DataFrame.from_dict(weights_dict, orient="index") df1.columns = ['weights'] 我得到以下输出 | weights ———————— D1_sum | 8 U2_conv | 9 y1_maxpool | 10 y22_dropout | 11 我想为第一列设置一个名字。 我怎样才能做到这一点? 谢谢。 预期产出: Layers | weights ———————— D1_sum | 8 U2_conv | 9 y1_maxpool | 10 y22_dropout | 11 编辑: 使用后 df.index.name = 'Layer' 我得到以下结果: | weights ———————— Layer […]