我使用了2个不同的代码集合来完成以下任务: 把所有的xls,xlsx文件放在一个指定的目录(通常是4个文件)中,然后导出工作表中的数据来分隔csv文件。 一组代码循环遍历目录并findxls文件; 这完美的作品。 另一组代码将当前打开的工作表导出并将其导出到csv,这个工作也完美无缺。 但是,当我试图转换一个文件,通过使用第一组代码循环,我得到的错误取决于我修改。 我认为我创造的对象不是正确的types,所以它们不能被循环,但我不知道如何创build正确的对象。 Sub select_rows() strPath = "C:\temp\xldev" Set objExcel = CreateObject("Excel.Application") objExcel.Visible = True objExcel.DisplayAlerts = False Set objFso = CreateObject("Scripting.FileSystemObject") Set objFolder = objFso.GetFolder(strPath) For Each objFile In objFolder.Files If (objFso.GetExtensionName(objFile.Path) = "xls" Or objFso.GetExtensionName(objFile.Path) = "xlsx") Then Set objWorkbook = objExcel.Workbooks.Open(objFile.Path, ReadOnly) ' Include your code to work […]
我正在使用TextFieldParser类来parsing文件。 如果“整列”是空的,我想消除或忽略整列(这意味着应该考虑一个特定行的单个空单元格)这是可能的吗? 注意:根据function,我需要使用复制到剪贴板的数据。 所以不能将直接文件path传递给parsing器。 TextFieldParser parser = new TextFieldParser(new StringReader(row)); string[] delimiters = { ",", "\t" }; parser.SetDelimiters(delimiters); string[] columns = null; while (!parser.EndOfData) { columns = parser.ReadFields(); } 感谢你的帮助。
我需要将包括所有工作表在内的Excel文件(* .xls,* .xlsx)转换为每张工作表的CSV文件。 输出CSV文件应由SheetName(s)命名并用分号(而不是逗号)分隔。 我已经完成了这个,通过将几个VBS脚本粘合成一个,但是我仍然有一个错误。 我的代码下面的代码是用分号分隔的XLS文件中的所有表格进行转换,但是有一个小错误是,如果有多个工作表,下一张表格的内容被第一张表格覆盖。 请问有什么不对? 我在CMD运行它: xls_to_csv.vbs ExcelFile.xls OutPutdir '——————- SET SEMI-COLON DELIMITER VIA WIN REGISTERS ————— strDelimiter = ";" strSystemDelimiter = "" ' This will be used to store the current sytem value Const HKEY_CURRENT_USER = &H80000001 ' Get the current List Separator (Regional Settings) from the registry strKeyPath = "Control Panel\International" […]
我经常遇到这个问题: 我有一个csv文件,其中包含一个数据列表 我需要删除重复(或有时,find重复的值) csv很容易引入excel ,但是我找不到(或者永远不记得)find/删除/计数重复值的好方法。 我可以将数据导出到数据库,然后运行一些简单的SQL查询来完成所有这些工作,但是随后大部分其他操作都会阻止数据库的运行,并且将数据导出到excel来完成单元级别的工作。 是不是有一些工具可以使表格数据像Excel一样简单,但包括一个SQL查询语言更强大的function?
我已经写了一个可视化的基本macros来加载一个csv文件到我经常使用的Excel中。 不幸的是,如果csv文件包含带引号的换行符,那么结果与您直接使用excel打开csv文件时得到的结果不同。 与通常的导入工具不同, QueryTables.add()假定它所运行的任何换行符(无论是否带引号)都是该行的结尾。 有没有解决的办法? 我更喜欢这个解决scheme,它不涉及预先修改传入的csv文件来删除换行符,但是我也愿意提供这方面的build议。 不过,我希望在生成的excel文件单元格中有换行符。 我的macros的相关部分: Sub LoadMyFile() ' Query the table of interest With ActiveSheet.QueryTables.Add(Connection:="TEXT;" _ & ThisWorkbook.Path & "\" & Range("A1").Value & ".csv", _ Destination:=Range("$A$2")) .Name = ActiveSheet.Name .FieldNames = True .RowNumbers = False .FillAdjacentFormulas = False .PreserveFormatting = True .RefreshOnFileOpen = False .RefreshStyle = xlOverwriteCells .SavePassword = False .SaveData = […]
我正在使用Python的CSV模块输出一系列与元数据分析文本文档。 我使用的csv.writer模块没有指定一个特殊的分隔符,所以我假设它使用逗号分隔。 在文本和元数据中都有很多逗号,所以我希望与文本行相比,在文档行中有更多的列。 我感到惊讶的是,当我在Excel中加载输出的文件时,一切看起来都是正确的。 Excel如何知道如何正确分隔这个? 它如何能够找出哪些逗号是文本逗号,哪些是分隔符? 相关问题:人们通常使用CSV来保存文本文档吗? 这是一个标准的做法? 从长远的可持续性到轻松解读没有任何错误,从JSON或者创buildSQLite数据库看起来都不如意。
所以我有一个csv文件,我想要使用2列(基本上相同的想法在Excelsorting“由somecol然后anothercol”)。 鉴于csvbody是从csv文件生成的列表的列表,我现在的方式,我发现这个问题 sortedcsv = sorted(csvbody, key = operator.itemgetter(somecol, anothercol))问题是,我想要按照升序sorting,而按降序sorting。 有没有办法做到这一点(甚至更好,在一条线)? 我知道我可以做sortedcsv = sorted(csvbody, key = operator.itemgetter(somecol, anothercol), reverse = True) ,然后按降序对它们进行sorting。 然后我试着做两行: sort1 = sorted(csvbody, key = operator.itemgetter(somecol)) sort2 = sorted(sort1, key = operator.itemgetter(anothercol), reverse = True)) 然而,这是行不通的,因为第二类只是覆盖第一类(就好像我进入了Excel,并按“anothercol”降序排列) 如果你需要我包括更多的信息,请让我知道。
我有一个非常大的(> 200万行)csv文件,正在生成和查看内部Web服务。 问题是当这个系统的用户想导出这个csv来运行自定义查询时,他们在excel中打开这些文件。 Excel格式化的数字是最好的,但有一些请求,以xlsx格式的数据与filter和whatnot。 问题归结为:使用python2.7,我怎样才能读取一个大的csv文件(> 200万行)到excel(或多个excel文件),并控制格式? (date,数字,自动filter等) 我对Python和内部的Excel解决scheme开放。
ABCDEFGH ACC'L SCIENCE 0.5 TRUE 557092 87 87 ACC'L SCIENCE 0.5 TRUE 557092 88 88 ART 0.5 TRUE 557092 98 98 ENGLISH 6 0.5 TRUE 557092 88 88 ENGLISH 6 0.5 TRUE 557092 87 87 GIRLS PE 0.5 TRUE 557092 100 100 GIRLS PE 0.5 TRUE 557092 94 94 我有一个excel文件中的上述7个行。 我试图检查连续的列是否有相同的值,他们应该合并成一行。 我正在尝试的公式会创build以下数据 ABCDEFGH ACC'L SCIENCE […]
我正在从Excel导出的.csv文件中提取数据。 csv文件看起来像这样: Category,Feature,Description,app1,app2,app3,app4,app5,app6,app7 Employee Relations,Employee Management,,y,y,n,y,y,y,n Employee Relations,Employee Availability,,y,y,n,n,y,y,n 问题是结束字符换行正在进行中。 采取以下代码: title=$(head -n 1 $1) # grab the first row title=`echo $title | sed -e 's/^ *//' -e 's/ *$//'` # me trying to fix. I think this is the issue echo $title #this seems to look right IFS=',' read -a titline <<<"$title" # make […]