Tag: 字典

从多个工作表中删除多个列

我试图从多个工作表中删除多个列,同时保留在列表中find的列。 例如,我有sheet1 , sheet2 , sheet3 ,…, sheet7 。 从这些床单我有特殊的列要保持。 从sheet1我想保持列s.no , cust.name , product ,剩余的date都应该从sheet2删除相同我想保留prod.disc,address , pin剩余所有应该被删除,就像我剩下的床单在那我要保留特定的列全部应该删除。 我正在尝试使用数组,但不能启动如何做。 我有基本的语法。 Sub sbVBS_To_Delete_Specific_Multiple_Columns() Sheets("Sheet1").Range("A:A,C:C,H:H,K:O,Q:U").EntireColumn.Delete End Sub`[code] 但是这对我来说不起作用,因为将来会有一些列可能会添加到列中,我希望列应该用名称来识别哪个列要保留并保留以便丢弃。

将多个系列词典保存到Excel

我有一个101列的数据框,我想看看我的DataFrame中的每个variables的分布。 使用pandasvalue_counts我创build了多个长度的几个系列字典。 每个系列都有自己的钥匙。 首先我做: out={} for c in df.columns: out[c]=df[c].value_counts(dropna=False).fillna(0) 所以,out是一个大小为101的字典。在out内是一系列不同大小的字典。 Key | Type | Size | Value Key1 Series (12,) class 'pandas.core.series.Series' Key2 Series (7,) class 'pandas.core.series.Series' Key3 Series (24,) class 'pandas.core.series.Series' . . . Key101 每个密钥都是唯一的。 我想将这些系列中的每一个保存到一个Excel文件中。 这个答案是非常接近的,并且对于循环中的第一个键是有效的,但是它不会继续到字典中的下一个键。 这是我现在所拥有的: for key in out.keys(): s=out[key] name=key[:30] s.to_excel('xlfile.xlsx', sheet_name=name) 我只保留前30个字符,因为这是Excel表格名称的限制。 我不需要他们自己的工作表,我宁愿他们都被保存到一个单一的工作表,但这是最接近我可以保存他们。 显然是一个新手,所以如果有更好的方法来解决我的根本问题,那也太棒了。 我接受任何build议,感谢您的时间。

如何在Excel中从Python字典键创build头文件

我正在试图把一个Python中的字典,并将其放置在一个Excel工作表中,其中的键显示在工作表的标题部分,值是在列。 我很接近,我只是想念一些小的东西,不知道这里是我的代码。 警告我使用许多import的方式 import os import re import openpyxl from openpyxl.utils import get_column_letter, column_index_from_string import xlsxwriter import pprint from openpyxl.workbook import Workbook from openpyxl.worksheet.copier import WorksheetCopy workbook = xlsxwriter.Workbook('dicExcel.xlsx') worksheet = workbook.add_worksheet() d = {'a':['Alpha','Bata','Gamma'], 'b':['1','2','3'], 'c':['1.0','2.0','3.0']} row = 0 col = 1 for key in d.keys(): row += 1 worksheet.write(row, col, key) for item […]

Excel VBA从关系数据中获取祖先值

我似乎无法弄清楚如何在Excel VBA中工作 我在excel中有这样的关系数据: 分层/ treeview,数据看起来像这样: 数据的最终结果应该是这样的(使用excel VBA脚本之后)在哪里 列A和B是关系数据 列E是用于查找的input值 列F是结果祖先值 我的脚本迄今看起来像这样: Public Sub DictionaryExamples() Dim sht As Worksheet: Set sht = ActiveSheet Dim exampleValues As Variant Dim i As Long Dim aKey As String Dim aValue As String Dim exampleDict As Object 'Load values into a variant array exampleValues = Range("A1:B15").Value 'Instantiate a dictionary Set […]

需要从csv excel文件创build字典的帮助

我有一个任务来创build一个函数loadResults,其中存储了跑步者的数量,时间,姓名和姓氏,并返回包含该信息的字典列表。 字典的键是:“数字”,“名称”,“姓氏”,“时间”。 到目前为止我有: def loadResults(): myFile = open("marathon.csv", "r") number = [] for line in myFile: info = line.split(',') s = {} s['number'] = info[0] s['time'] = info[1] s['firstname'] = info[2] s['surname'] = info[3:] number.append(s) myFile.close return number 然而,我还必须编写一个函数displayTime接收跑步者名单和跑步者的数量,并显示名字和时间。 对于我有: def displayTime(time,number,firstname): for s in number: if s['number'] == time: print(s['name']) runners = loadResults() displayTime(number,'3070') […]

Vb.Net使用Excel范围字典作为键

下面的代码摘自一个更大的过程(周围的代码是不相关的)。 任何人都可以解释为什么我无法获得第二个ContainsKey行返回True? 提示:在工作表上试试这个只有几个填充的单元格来减less循环。 For Each ws As Excel.Worksheet In Wb.Worksheets Dim dic As New Dictionary(Of Excel.Range, String) rngUsed = ws.UsedRange For Each cell As Excel.Range In rngUsed dic.Add(cell, "test") 'THE FOLLOWING TWO MESSAGES SHOULD DISPLAY THE SAME RESULT, BUT DO NOT. WHY??? MsgBox(dic.ContainsKey(cell)) 'Returns True MsgBox(dic.ContainsKey(ws.Range(cell.Address))) 'Returns False Next Next 更新:我已经添加了下面的代码,它似乎工作: Dim dic As New […]

我如何写一个现有的csv文件从字典到特定的列?

我有一个从csv文件创build的字典,并希望使用此字典来更新名为sheet2.csv的另一个csv文件的特定列中的值。 Sheet2.csv有很多不同的标题列,我只需要根据我的字典中的键值对更新列PartNumber。 我的问题是如何在字典中使用键来searchsheet2.csv并更新/只写入具有适当值的列PartNumber? 我是新来的python,所以我希望这不是太混乱,任何帮助表示赞赏! 这是我用来创build字典的代码: import csv a = open('sheet1.csv', 'rU') csvReader = csv.DictReader(a) dict = {} for line in csvReader: dict[line["ReferenceID"]] = line["PartNumber"] print(dict) dict = {'R150': 'PN000123', 'R331': 'PN000873', 'C774': 'PN000064', 'L7896': 'PN000447', 'R0640': 'PN000878', 'R454': 'PN000333'} 为了让事情更加令人困惑,我还需要确保sheet2中现有的行保持不变。 例如,如果存在ReferenceID为R1234,PartNumber为PN000000的行,则应保持不变。 所以我需要跳过不在我的字典中的行。 链接到示例CSV: http://dropbox.com/s/zkagunnm0xgroy5/Sheet1.csv http://dropbox.com/s/amb7vr48mdc94v6/Sheet2.csv 编辑:让我改述我的问题,并提供一个更好的例子csvfile。 假设我有一个Dict = {'R150':'PN000123','R331':'PN000873','C774':'PN000064','L7896':'PN000447','R0640':'PN000878','R454 ':'PN000333'}。 我需要填写这个csv文件: https : //www.dropbox.com/s/c95mlitjrvyppef/sheet.csv 具体来说,我需要使用我创build的字典的键填写PartNumber列。 […]

Excel VBA将数据写入类模块中的字典

我正在尝试将数据保存在类模块中声明的字典中。 我已经在类模块中使用过一个字典,因为在开始时组的数量和相关的数据点是未知的。 下面的代码编译,但模块和类模块中的dRATIO.exists语句都返回false(但是在第一次传递类模块中的debugging语句给出正确的值,之后的错误),然后Function GetRATIO返回999.任何build议? 'CODE IN A CLASS MODULE CALLED clsIVDATA Option Explicit Public dRATIO Public dIV ' Sub Init(RATIO As Variant, IV As Variant, KEY As String) 'Dim I As Long Dim VAL As String Dim RowKeys Dim COLKEYS Set dRATIO = CreateObject("Scripting.Dictionary") Set dIV = CreateObject("Scripting.Dictionary") dRATIO.ADD ITEM:=RATIO, KEY:=KEY dIV.ADD ITEM:=RATIO, KEY:=KEY Debug.Print […]

Xlsxwriter中是否有csv.DictWriter?

我有一个这样的程序: 我读了一些信息,而不是把它放到字典里,然后我把这些字典追加到一个列表中,所以我有一个字典列表… 我正在做的是:使用csv函数,csv.DictWriter和创build三个不同的文件。 我正在寻找,我发现了一个名为xlsxwriter的模块,可以用来创build一个EXCEL工作簿。 我search了,但我找不到类似于Xlsxwriter中的DictWrite的解决scheme,有没有人知道是否有任何解决scheme? 我所做的是一个糟糕的解决方法,这并不令我满意。 如果有人有任何build议,我会很高兴。 这是我的代码: #!/usr/bin/env python import csv, collections, xlsxwriter def find_between( s, first, last ): try: start = s.index( first ) + len( first ) end = s.index( last, start ) return s[start:end] except ValueError: return "ERROR" def process_tac_dump(): f = open(files) for lines in f: if 'ERS.VA' == lines[39:45]: […]

使用自定义比较器(如Excel坐标顺序)对TreeMap进行sorting

我正在使用TreeMap及其子图来pipe理Excel文件。 我使用关键的Excel坐标。 在Excel中,顺序类似于A , B , C ,…, AA , AB , AC ,…, BA …但是我的顺序是A , AA , AAA , AB ,…, B 。 我以为解决scheme是使用自定义比较,但我不知道如何使它获得Excel字母顺序。 Comparator<String> excelOrder= new Comparator<String>() { @Override public int compare(String s1, String s2) { //make order } }; 然后使用 SortedMap<String,String> map = new TreeMap<String,String>(secondCharComparator);