我正在使用我在这里find的函数: Apend2CSV将更改的行附加到CSV文件。 我已经在几个不同的项目中成功地使用了这个过程,但是这一次我忘记了我试图追加的前两列。 据我所知,一切都是正确的,我希望有一个更好的眼睛,可以指出我的问题在哪里。 该代码由一个Worksheet_Change事件触发,但它是一个单独的过程,因为它也被程序的其他部分调用。 在这种情况下,范围(“A4:BB4”)应该附加,但只有范围(“C4:BB4”)实际上。 这是一个计算范围,公式计算了.csv的潜在古怪,例如文本中的引号和逗号,方法是将每个" with ""实例replace掉,并在引号之后包含所有值。 代码如下: Sub Append2CSV() Sheets("ToCSV").Calculate Dim tmpCSV As String Dim f As Integer Const CSVFile As String = "C:\TheCSV\WBCSV.csv" f = FreeFile Open CSVFile For Append As #f tmpCSV = Range2CSV(Sheets("ToCSV").Range("A4:BB4")) Print #f, tmpCSV Close #f ThisWorkbook.Saved = True End Sub Private Function Range2CSV(list) As String Dim […]
我已经写了下面的vba代码来获取excel文件,并将其读取/写入到一个新的文本文件。 我这样做的主要问题是新文本文件中所需的间距不统一。 那么我的意思是,如果第一行的四列是[列a = 2列b = 3,列c = 4,列d = 5],那么文本文件中的输出是: 2 3 4 5 在2和3之间有一个选项卡,在3和4之间有4个空格,在4和5之间有14个空格。这是非常随意的,但格式化是由于以前创build的文件。 我成功地完成了这个问题的一个方面,但是有两个新问题。 在我的excel文件的第三列中,并不是所有的数字都是相同的长度。 Ex – Cells(3, 3).Value = 79.13和Cells(4, 3).Value = 81.6 Cells(3, 3).Value = 79.13 Cells(4, 3).Value = 81.6 我如何得到以下(这是现在发生的事情): "302277600 19940130 79.13 18.06" "302277600 19940131 81.6 18.06" 转向这个: "302277600 19940130 79.13 18.06" "302277600 19940131 81.6 18.06" 基本上,基于长度改变值之间的间隔。 此外,有没有办法摆脱引号? […]
我想知道是否有任何方法来解决这个代码,以便我可以导入和导出命名范围和他们的值从工作簿以及通过.csv文件格式。 我可以成功导入或导出单个单元格的命名范围。 但是,在导出多单元命名范围时,我得到错误,因为它们是数组。 将命名范围导出到csv的代码是这样的 Option Explicit Sub ExportCSV() Dim ws As Worksheet Dim str1 As String Dim i As Long Dim FinalRow As Long Set ws = Sheets("Export") With ws Application.ScreenUpdating = False ws.Activate ws.Range("A1").Select Selection.ListNames FinalRow = ws.Range("B9000").End(xlUp).Row For i = 1 To FinalRow Cells(i, "B") = Replace(Cells(i, "B"), "$", "") Next i Dim […]
我正在寻找一种有效的方式来使用read.csv(或另一种)阅读具有100,000个列和几乎一行的.csv文件。 这个结构的文件是从MATLAB中提取的,似乎更喜欢添加数百万行而不是列。 当在Excel中打开文件时,它不会完全加载,所以我不能简单地转置。 以下在r中的作品,仍然很慢,但我想知道是否有更好的办法? library(data.table) dfr <- as.data.frame(t(fread('filename.csv')))
我在将.xlsx文件转换为.csv时遇到问题。 当我尝试转换它时,csv文件出现与文本包装激活。 问题是,我需要将csv文件导入数据库,目前的格式不允许我这样做。 我有问题,如何在保存csv文件时禁用文本换行,或者在将文件导入数据库时忽略文本换行? 兑换: require_once 'Classes/PHPExcel.php'; // (this should include the autoloader) require_once 'Classes/PHPExcel/IOFactory.php'; $excel_readers = array( 'Excel5' , 'Excel2003XML' , 'Excel2007' ); $reader = PHPExcel_IOFactory::createReader('Excel2007'); $reader->setReadDataOnly(true); $path = 'temp.xlsx'; $excel = $reader->load($path); $writer = PHPExcel_IOFactory::createWriter($excel, 'CSV'); $writer->setDelimiter(','); $writer->save('temp.csv'); 导入数据库: if (file_exists('temp.csv')) { $i=0; require "connection.php"; $handle = fopen("temp.csv", "r"); $import=$db->prepare("INSERT INTO adherence( dateandtime, […]
我有一个130 excel文件,所有被称为cplt.csv每个存储在BM文件夹下的两个子文件夹下。 即BM / 1/1 / cplt.csv BM / 2/2 / cplt.csv等等 我需要阅读每个这些csv文件,并将其从7列更改为5列。 我需要列的顺序是第七,第三,第二,第一和第六。 第一列是date时间字段,目前看起来像8/22/2015 1:19:01 AM我需要它看起来像这样 – > 2015年8月22日01.19.01或遵循ISO格式(“yyyy-MM- dd'T'HH:MM:SSZ“)。 我有两个问题,我看到它,1)我目前无法访问我的BM文件夹下的所有cplt.csv文件。 2)我不知道如何将date时间更改为我所需要的ISO格式,并将其输出回相同的csv文件。 我目前得到的代码如下: import sys, argparse, csv, os for file in os.listdir("BM"): if file.endswith(".csv"): with open(file, 'rb') as csvfile: for line in csvfile.readlines(): array = line.split(',') newline = array[6] + "," + array[2] + […]
我正在为MATLAB编写一个脚本,它将从一个csv文件导入数据,该文件的第一行包含string标题,并且每个列中的数据都是string,date或数字。 然后我想根据特定string和数字组合的实例来过滤MATLAB中的数据。 任何帮助感激! 干杯!
我有一个19个字段的MATLAB结构。 主场是一个1×108033双数值的所有值。 它看起来像这样,基本上108033数字: pnum: 5384940 5437561 5570271 5661637 5771155 … 我还有一个叫inventors领域是1×108033单元格值。 每个单元格包含不同数量的string。 例如列1到5 inventors: {2×1 cell} {4×1 cell} {1×1 cell} {1×1 cell} {1×1 cell} 对于第一列值,2 x 1单元由以下值5012491-01和2035147-03等组成。 我想共同导出这两个CSV文件。 理想的结果将重复pnum的数字,以便在pnum和inventors之间build立明确的联系。 因此,理想的结果看起来像这样(与inventors单元格内容一起显示)。 pnum inventors 5384940 5012491-01 5384940 2035147-03 5437561 5437561-01 5437561 5437561-02 5437561 5437561-03 5437561 5012491-02 5570271 5437561-03 5661637 1885634-08 5771155 5012491-01 我之前问过这个问题的一个更复杂的版本,但是问题不清楚。 希望是现在。
我无法导入一个CSV文件。 第一行工作正常,但其余的都是不吉利的。 以下是csv的第一行和第二行的示例: "Order # ","Purchased From (Store)","Purchased On","Bill to Name","Ship to Name","GT (Base)","GT (Purchased)",Status 202366,"RaD.com Ra D Ra D Default View ","Dec 26, 2015 12:07:25 PM","John Smith","John Smith",$70.00,$70.00,Pending 订单号进入正确的单元格,但它将RaD.com Ra D和Ra D Default View拆分到不同单元格中的不同行上。 date也被切成两个单元格,[Dec 19] [2015 12:07:25 PM“] 下面是我正在使用的代码。 Sub ImportCSV(fname) Set ws = Worksheets.Add(After:=Worksheets(Worksheets.Count)) ws.Name = "temp" & Worksheets.Count + 1 With […]
我试图从我的路由器创build的日志文件中获取文本行,并将其分解为一个csv文件,以便查看。 来自日志文件的示例行: [VPN-IPSEC rule not match] from 192.168.1.254:63991 to 8.8.8.8:53 Wednesday, January 06,2016 08:52:18 我希望最终文件有规则,IP地址向内,端口向内,IP地址出,端口出,主机名,date和连接数量(重复)列。 public static void main(String[] args) throws UnknownHostException, IOException { PrintStream diskwriter = new PrintStream("C:\\Users\\admin\\Desktop\\RawIPs.csv"); diskwriter.print("Rule" + ","); diskwriter.print("Host Name" + ","); diskwriter.print("IP Address" + ","); diskwriter.println("Port"); int count = 0; try (BufferedReader br = new BufferedReader(new FileReader("C:\\Users\\admin\\Desktop\\IPs.txt"))) { String line; […]