我正试图打印Excel中的4列的值。 我需要匹配第四列中的特定string,然后只打印那些具有该string的行。 (例如:如果我在第二行的第四列包含“甜”,我会打印整行) 示例excel: name; number; fruit; comment test1 ;1 ; apple ; healthy test2; 2; banana ;sweet and healthy 这里row2应该打印 到目前为止,我有这个,不能得到确切的方式来匹配string。 import gzip import csv, io with gzip.open("/test.csv.gz", "r") as file: datareader = csv.reader(file) included_cols = [9, 10, 11] for row in datareader: content = list(row[i] for i in included_cols if row[i]) print content
我有一个javascript代码来下载csv,它有UTF-8字符。 如果我不使用'sep =,\ r \ n',则在浏览器Chrome和Mozilla中,UTF-8字符会正确显示,并带有BOM char。 但它不适用于IE,因为所有的数据都在一列中。 为了解决这个问题,如果我使用'sep =,\ r \ n',那么UTF-8字符在所有3个浏览器中都不能正确显示。 必须通过select编码UTF-8手动导入到Excel中。 我正在寻找一个可以使用BOM和分隔符的解决scheme,用户可以通过双击文件直接打开csv文件。 代码片段: tableString = 'sep=,\r\n' + tableString; if (navigator.appName == "Microsoft Internet Explorer") { myFrame.document.open("text/html", "replace"); myFrame.document.write(tableString); myFrame.document.close(); myFrame.focus(); myFrame.document.execCommand('SaveAs', true, fileName); } else { csvData = 'data:text/csv;charset=utf-8,%EF%BB%BF' + encodeURIComponent(tableString); var link=document.createElement('a'); link.setAttribute('style', "visibility:hidden"); link.href=csvData; link.setAttribute('download', fileName); link.innerHTML = "Export CSV"; […]
在我的网站pipe理员login时,我希望他能够将一个表中的phpmyAdmin导出到Excel工作表。 我能够通过phpMyAdmin中的导出button手动执行,但我希望能够使用SQL语句执行此操作。 这是我第一次尝试它,并在看出口表结构到Excel文件与phpmyadmin和phpmyadmin出口到CSV文件的Excel 我写了下面的代码。 if($level==1){ echo "<br>"; $q9=" SELECT * INTO OUTFILE 'C:\xampp\htdocs\excelsheet1.csv' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '' LINES TERMINATED BY '\n' FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = DATABASE('db1') AND TABLE_NAME ='tb1'"; $s9=mysql_query($q9,$connect) or die("couldn't export values"); } 我在C:\xampp\htdocs创build了一个名为excelsheet1.csv的空白.csv文件。 但是,当我运行这个代码,它给出了错误couldn't export values并有一个空白的Excel表。 在PHP语句中,我怎样才能在SELECT中编写OPTIONALLY ENCLOSED BY '"' ,因为如果我在SELECT里面使用语法错误。 我能做些什么来将tb1中的值导出到excelsheet1.csv
关于我的问题的一点背景: 我有MS Access中的查询创build的CSV文件。 CSV文件的主体包含列; 姓名,地址,邮政编码,date等。文件的最后一行包含数据摘要; 文件名,date,时间戳和logging总数。 由于所有字段都包含string,我们不希望系统截断或者尝试和计算date和邮政编码,所以我们用引号输出这些字段。 最后两行看起来像这样: "Name","Code","Address","Address2","Office","Location","City","State","PostCode","Date" "FileName","DDMMYYYY","HH:MM:SS",TotalRecords,"","","","","","" 我需要删除最后一行中的额外逗号,所以它看起来像这样: "FileName","DDMMYYYY","HH:MM:SS",TotalRecords 我已经看了一遍,并尝试在这里的解决scheme: CSV文件有额外的逗号 这将创build我的原始文件的副本,但保留所有逗号不变。 如果我删除所有的引号,这个解决scheme工作。
我想要做的是,导出一些数据集的Excel,而不使用额外的第三方,沉重的图书馆。 问题是,当我导出文件时,第一行看起来不错,但从第二行开始,它将所有的$row数据放入当前行的第一个字段。 所以我得到的第一行文件正确地放置在右列,从第二行开始而不是列我看到整个文本在第一个字段由分隔符(逗号分隔) 这里是我用于结果的代码片段。 $counter=0; $file = fopen("sample.csv", "w"); foreach ($registrants as $registrant) { $row = [ 'Fullname' => $registrant->fullname, 'Phone' => $registrant->phone, 'Email' => $registrant->email, ]; if ($counter == 0) fputcsv($file, array_keys($row)); fputcsv($file, $row); $counter++; } fclose($file); 也试过 fputcsv($file, array_values($row), ';', ' '); 没有成功。 我究竟做错了什么? 无论操作系统或Excel语言环境如何,在所有Excel版本上查看正确结果的正确方法是什么?
目的: 将工作簿中的特定工作表保存为唯一的CSV文件 条件: 要从包含特定工作表和无关工作表的工作簿中保存特定工作表(复数)(例如,保存20个可用工作表中的特定10个) 将当前date插入到CSV文件名中,以避免覆盖当前保存文件夹中的文件(此VBA每日运行) 文件名语法:CurrentDate_WorksheetName.csv 我发现VBA代码让我的目标达到了一半。 它将所有工作表保存在工作簿中,但文件名与当前date不是dynamic的。 当前代码: Private Sub SaveWorksheetsAsCsv() Dim WS As Excel.Worksheet Dim SaveToDirectory As String Dim DateToday As Range Dim CurrentWorkbook As String Dim CurrentFormat As Long CurrentWorkbook = ThisWorkbook.FullName CurrentFormat = ThisWorkbook.FileFormat ' Store current details for the workbook SaveToDirectory = "S:\test\" For Each WS In ThisWorkbook.Worksheets Sheets(WS.Name).Copy ActiveWorkbook.SaveAs […]
我需要你的帮助,我使用org.apache.metamodel为了读取文件的数据集(excel,csv ..),而这样做,我已经注意到所有返回的列被归类为“string”,我的问题是我试图使用org.apache.metamodel.query筛选列值。 FilterItem ,但我看到比较是一个“string比较” – 例如(i <2)将返回1,10,111等。 我遇到了数据types转换里面:“ http://wiki.apache.org/metamodel/examples/DataTypeConversion ” 但是当我使用它,它并没有真正改变列的types,我的结果是不正确的。 所以如何过滤文件中的非string列, 提前致谢!
我有一个Excel电子表格,可以生成应用程序中使用的CSV脚本。 这些脚本必须采用非常特定的格式,我保存XLSX格式的主数据,并使用受保护的表单和数据validation来保存CSV,而不是直接编辑CSV,因为直接编辑CSV可能会导致错误。 问题是脚本可能几乎任何长度。 每行的左列只能是某一组值中的一列,最后一行必须说“END”。 在没有VBA的情况下,我唯一可以做到这一点的方法是在第7行(前6个是标题信息)到1048576行(最后一个Excel行)的A列中使用以下公式,并lockingA列以保护工作表: =IF(AND(ISBLANK(B368),NOT(ISBLANK(B367))),"END",IF(ISBLANK(B368),"",A367)) 这使最后一行在A列中表示“END”,在空白后的所有行都是所期望的。 问题是,现在当CSV文件被保存时,它总是有1048576行,所有的最后一行包含分隔符“,,,,”。 这将不起作用,CSV文件需要在“END”行之后停止。 有没有办法来写公式,将导致Excel忽略保存为CSV时评估为空白的单元格或在Excel中保存为CSV的替代方法,将忽略所有评估为空白的行? 注:我已经在VBA中有一个解决scheme,可以在我自己的机器上使用它(它将数据复制到“END”,以纯文本格式粘贴到一个新的工作表中,然后用原始工作表的名称保存为CSV) 。 然而,我想分享这个表格,并且绕过安全限制来分享我公司的macros是一个痛苦。 所以我正在寻找一种没有macros的方法,如果可能的话。 在查找答案时,我发现这个链接相似,但不一样:将Excel数据保存为带有VBA的csv – 删除文件末尾的空行以保存 作为“空白”我有活跃的行,因为它们包含公式,这种方法将无法正常工作。
我想导出一些CSV格式的数据,它是从我的数据库(mongodb)与AJAX调用中获取。 问题是CSV导入后Excel中的特殊字符(例如: é )无法正确显示。 但是,它们正确显示在LibreOffice / Open Office,Google Spreadsheetm和我可以尝试的任何文本编辑器上。 我假设这个文件是用UTF-16编码的,因为它是从javascript生成的。 以下是我在JavaScript中创build导出(这是AngularJS): $scope.downloadCityCSV = function() { $scope.csvURL = 'building'; var data = 'email;first name;last name;Email confirmé;city;quantity;date\n'; $scope.campaignData.cityVotes.forEach(function(vote) { var customer = vote.customer; data += customer.email +';' + customer.firstName +';' + customer.lastName +';' + (customer.accountConfirmed?"O":"N") +';' + vote.cityProposal + ';' + vote.quantity + ';' + vote.created + […]
所以我试图创build一个Python脚本,将sortingExcel工作表的指定列。 到目前为止,我的代码是… import csv import operator with open('case_name.csv') as infile: data = list(csv.reader(infile, dialect=csv.excel_tab)) data.sort(key=operator.itemgetter(2)) with open('case_name_sorted.csv', 'w') as outfile: writer = csv.writer(outfile, dialect='excel') writer.writerows(data) 但是,当我运行这个代码,我继续得到一个错误,说… data = list(csv.reader(infile, dialect=csv.excel_tab)) _csv.Error: new-line character seen in unquoted field – do you need to open the file in universal-newline mode? 我做了一些研究,发现.csv文件在Mac上无法正常工作。 那么我应该怎样改变这个文件才能像Excel工作表一样工作呢? 另外,如果任何人有什么指示我怎么可以sorting列,我会非常感激一些技巧。 谢谢!