Tag: 数据框

Python,Pandas将Excel文件合并为1,文件名称为A列

我将Excel电子表格合并到1个电子表格中,并且要在电子表格的第一列合并时插入电子表格的文件名。 要组合的Excel文件是:20170801.xlsx,20170901.xlsx,20171001.xlsx 这是我有的代码: working_folder = 'c:\\abc\\' files = os.listdir(working_folder) files_xls = []; for f in files: if f.endswith(".xlsx"): fff = working_folder + f files_xls.append(fff) df = pd.DataFrame(); for f in files_xls: data = pd.read_excel(f, skip_footer=0) file_date = basename(f).replace(".xlsx", "") #data.index = pd.MultiIndex.from_tuples([("", file_date)] * len(data)) data.index = pd.MultiIndex.from_tuples([(file_date)] * len(data)) df = df.append(data) df.to_excel(working_folder + […]

pandasread_excel同一张纸上的多个表格

是否有可能使用pandas读取表excel文件中的多个表? 如下所示:从row0读取table1,直到row100从row102读取table2,直到row202 …

如何在使用Python保存到excel时分离pd.read_html()中的多个dataframe

我试图保存通过pd.read_html()引入的多个表中的数据。 如果我打印df ,我可以看到它捕获所有的数据,但是当保存数据时,只保存第一个表格到Excel。 我怎么把表格分开,这样我就可以把每一个表格保存到excel的单独表格中(例如,表格1中的季度损益表,表格2中的年度损益表等)。 以下是我的代码。 任何帮助表示赞赏。 dfs = pd.read_html(https://www.google.com/finance?q=googl&fstype=ii, flavor='html5lib') writer = pd.ExcelWriter(output.xlsx, engine='xlsxwriter') for df in dfs: df.to_excel(writer, sheet_name='Sheet1') writer.save()

如何连接来自同一个文件的多个Excel表单?

我有一个很大的excel文件,其中包含许多不同的工作表。 所有的床单都具有相同的结构,如: Name col1 col2 col3 col4 1 1 2 4 4 3 2 1 我怎样才能连接(垂直)在Pandas所有这些表,而不必手动命名每个人? 如果这些文件,我可以使用glob来获取目录中的文件列表。 但在这里,对于Excel表格,我迷了路。 有没有办法在结果数据框中创build一个variables来标识数据来源的表名? 谢谢!

在.jnew错误中的write.xlsx错误和R中的j.check错误

我试图用write.xlsx写523370行和3列的数据框 write.xlsx(x = dataframe, file = "dataframe.xlsx", + sheetName = "dataframe1", row.names = FALSE) 但我得到这个错误: Error in .jnew("org/apache/poi/xssf/usermodel/XSSFWorkbook") : Java Exception <no description because toString() failed>.jnew("org/apache/poi/xssf/usermodel/XSSFWorkbook")<S4 object of class "jobjRef"> 我检查这些问题: 如何清除rJava使用的内存? : xlcFreeMemory() ,然后尝试写入文件,但经过相当长的时间后,我得到相同的错误 R使用XLSX包编写excel文件需要花费很长时间和错误 : write.xlsx2()给了我同样的错误,在运行这个之后: options(java.parameters = "-Xmx1024m")并重新启动系统 但是那改变了错误改为: Error in .jcheck(silent = FALSE) :Java Exception <no description because toString() failed>.jcall(row[[ir]], "Lorg/apache/poi/ss/usermodel/Cell;", […]

pandas:将dataframe分割成多张相同的电子表格

假设我有3个相同长度的字典,我将其合并为一个独特的pandas数据框。 然后我把这个数据框转储到一个Excel文件中。 例: import pandas as pd from itertools import izip_longest d1={'a':1,'b':2,'c':3,'d':4,'e':5,'f':6} d2={'a':1,'b':2,'c':3,'d':4,'e':5,'f':6} d3={'a':1,'b':2,'c':3,'d':4,'e':5,'f':6} dict_list=[d1,d2,d3] stats_matrix=[ tuple('dict{}'.format(i+1) for i in range(len(dict_list))) ] + list( izip_longest(*([ v for k,v in sorted(d.items())] for d in dict_list)) ) stats_matrix.pop(0) mydf=pd.DataFrame(stats_matrix,index=None) mydf.columns = ['d1','d2','d3'] writer = pd.ExcelWriter('myfile.xlsx', engine='xlsxwriter') mydf.to_excel(writer, sheet_name='sole') writer.save() 此代码将生成一个带有唯一表的Excel文件: >Sheet1< d1 d2 d3 1 1 1 […]

在现有的excel表格中填写pd数据框(使用openpyxl v2.3.2)

我想把一些pandas数据框填入现有的 excel文件中。 我遵循的指示: 如何写入现有的Excel文件,而不覆盖数据(使用pandas)? 使用: from openpyxl import load_workbook import pandas as pd import numpy as np book=load_workbook("excel_proc.xlsx") writer=pd.ExcelWriter("excel_proc.xlsx", engine="openpyxl") writer.book = book writer.sheets = dict((ws.title, ws) for ws in book.worksheets) data_df.to_excel(writer, sheet_name="example", startrow=100, startcol=5, index=False) writer.save() 但是,现有的工作表将被删除,“示例”工作表被生成,只有df被集成在定义的位置。 我做错了什么? 我想把“data_df”写入现有的“示例”表格中现有的excel文件中,保留其他表单和数据。 谢谢 示例df: data_df=pd.DataFrame(np.arange(12).reshape((2, 6)), index=["Time","Value"])

阅读MS Excel的XML文件pandas数据框?

我有一个MS Excel XML(2003)文件与以下元数据: <?xml version="1.0" encoding="UTF-8"?> <?mso-application progid="Excel.Sheet"?><Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:c="urn:schemas-microsoft-com:office:component:spreadsheet" xmlns:html="http://www.w3.org/TR/REC-html40" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:x2="http://schemas.microsoft.com/office/excel/2003/xml" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><OfficeDocumentSettings xmlns="urn:schemas-microsoft-com:office:office"> 我想把它读入一个pandas数据框。 什么是这样做的好方法? 谢谢。

pandasdataframe更换速度缓慢

我有一个Excel文件(.xlsx),大约有800行,128列,网格中的数据非常密集。 大约有9500个单元我试图用Pandas数据框取代单元格的值: xlsx = pandas.ExcelFile(filename) frame = xlsx.parse(xlsx.sheet_names[0]) media_frame = frame[media_headers] # just get the cols that need replacing from_filenames = get_from_filenames() # returns ~9500 filenames to replace in DF to_filenames = get_to_filenames() media_frame = media_frame.replace(from_filenames, to_filenames) frame.update(media_frame) frame.to_excel(filename) replace()需要60秒。 任何方式来加速呢? 这不是一个庞大的数据或任务,我期待大pandas的动作要快得多。 仅供参考我试着用同样的文件在CSV中做同样的处理,但节省的时间是最less的( replace()约50秒)

使用Pandas阅读带有多个标题的Excel表格

我有一个Excel头像多个头像: _________________________________________________________________________ ____|_____| Header1 | Header2 | Header3 | ColX|ColY |ColA|ColB|ColC|ColD||ColD|ColE|ColF|ColG||ColH|ColI|ColJ|ColDK| 1 | ds | 5 | 6 |9 |10 | ………………………………… 2 | dh | …………………………………………………. 3 | ge | …………………………………………………. 4 | ew | …………………………………………………. 5 | er | …………………………………………………. 现在,在这里你可以看到前两列没有标题,而是其他列有标题Header1,Header2和Header3。 所以我想阅读这张表格,并将其与其他具有相似结构的表格合并。 我想将它合并到第一列“ColX”上。 现在我正在这样做: import pandas as pd totalMergedSheet = pd.DataFrame([1,2,3,4,5], columns=['ColX']) file […]