Tag: csv

从python的Excel中获取一个列到数组中

作为一个项目的一部分,我需要创build一个联赛表格,为了让它按点sorting,我需要从excel中访问点列并命令它。 到目前为止,我为此编写的代码是: output = [] x = open("table.csv", "rU") for line in x: cells = line.split(",") output.append((cells[7])) print output 积分是所有列中的最后一个,共有7个列。 这个输出是: ['Points\n', '0\n', '0\n', '0\n', '0\n', '0\n', '0\n', '0\n', '0\n', '0\n', '0\n'] 有没有办法只得到数字,然后订购他们,而不使用pandas? 谢谢

确定浏览器将要下载文件,excel和VBA的位置

首先我承认这应该很容易,但我只是没有看到答案。 我从一个我不能控制的网站获取信息。 该网站在select页面上的某些选项后,将下载一个CSV文件。 我已经得到了一切正在下载。 dim IE as InternetExplorer dim doc as HTMLDoc ' setup the page ' get page to generate CSV ' now i need to go find the file and read it in ' Where is it? 我知道我可以创build一个对话框,并要求用户导航到文件。 然而,我正在处理那些没有电脑知识的人,并要求他们find一个文件不能很好地工作。 我知道%homedir%homepath \ downloads应该是正确的,但我已经忘记了如何创build一个基于这些variables的path。 另外我不是积极的,总是正确的,所以我想要一个方法来问问浏览器它将存储文件。

CSV中date单元格中的错误

我在Excel文件(xlsx)中使用了YYYY / MM / DD HH:MM:SS AM / PM格式的date列。 但是,当我试图将其保存为CSV格式,然后date列中的值转换为MM / DD / YYYY HH:MM 。 但我想保持相同的格式的值。 请帮我解决这个问题,并提前致谢。

pandas阅读csv取代#DIV / 0! 和#VALUE! 与NaN

我是Python的pandas新手,正忙于阅读一个csv文件。 不幸的是,Excel文件有一些单元格带有#VALUE! 和#DIV / 0! 在他们中。 我无法在Excel中修复此问题,因为数据是从其他工作表中提取的。 pandas把这些列变成objects而不是numpy64 ,所以我不能从他们的阴谋。 我想replace#VALUE! 和#DIV / 0! string与pandasNaN条目,但我找不到如何做到这一点。 我已经尝试了以下(我的代码运行,但它没有改变): import pandas as pd import numpy as np df = pd.read_csv('2013AllData.csv') df.replace('#DIV/0!', np.nan)

将Excel中的数据源replace为正在运行的Tableau工作簿中的csv

我有一个运行Tableau图表使用多个数据源,其中之一是Excel文件。 我现在想用相当的csv(相同的内容和结构)replaceExcel文件。 但是,我似乎无法find办法。 只需在“编辑数据源”中replace数据源,就会出现一个“意外错误”,其中详细说明“Excel协议的非法文件types”(如果问我的话,不会出现意外的错误)。 有没有办法做到这一点,而不需要重build使用这个数据源字段的图表?

当从行中给出列标题和值时的单元格值

我有一个Excel文件/ CSV同时具有列和行标题(行1是所有标题,列A是所有行标题)。 当我提供列和行时,我希望使用dictreader返回(x,y)坐标的值。 最后,我能够给出多个列和一个单行,它将结合该行的每个给定列中的值。 但是,我将从婴儿的步骤开始,因为我目前甚至无法返回我想要的第一个值。 这里是我的excel文件/ CSV的一个小样本: PinName RF_Switch_TX1 RF_Switch_TX2 RF_Switch_TX3 RF_Switch_TX3_Scope1 RF_Switch_TX3_Scope2 DM_D_0 1255,1266,1311 1154,1105, DM_D_1 1256,1266,1311 1154,1105, DQS 1101,1161 1105 1153,1105 我如何build立一个function,如果提供引脚名称“DM_D_1”和列标题“RF_Switch_TX3_Scope1”它将返回1154,1105, 我希望只是使用dictreader,但我需要build立一个迭代function,通过我的文件search?

在一个拥有25年价值数据的Access表中计算每月的logging数量

这可能是一个非常简单的问题,但我无法find一个与在这么长时间内传播的数据集有关的答案。 对于初学者来说,这是从一个较早的职位继续进行的,我想从一个跨越数年的每个月的数据中统计出logging的数量 – 问题的主体如下: 我已经下载了一个数据集,详细介绍了1979年1月至2004年12月期间在英格兰报告的所有车祸事件 – 该文件采用csv格式,可以理解的是相当大(准确的说是6,224,199行)。 由于文件的大小超过了Excel 2010可以处理的行数,因此我必须将文件拆分为更小的文件才能在Excel中一次打开。 我尝试使用记事本和记事本+ +,但记事本崩溃,记事本++拒绝打开如此之大(720MB)的文件。 我已经考虑使用像Delimit这样的Excelreplace,但是它不支持macros。 现在,忽略大小问题,我需要计算每个月的崩溃总数,并记下它们。 有一个列来指定每个崩溃的date,但行不是根据崩溃datesorting。 我正在考虑使用CTRL + F来计算具有特定的月份/年份值的行数,然后logging每个search的结果数量,但考虑到数据跨越了25年,我不得不手动search并logging从300个月结果。 对这个问题的评论告诉我,将包含数据的csv文件导入到Microsoft Access中会更容易,然后查询数据。 我遵循这些评论者的build议,并将(6,224,199)logging导入到一个新的Access表中,但现在我一直在写SQL查询。 我对Access没有多less经验,但是我收集到了我应该用一个COUNT命令来声明每个月的事故报告数量。 问题是这个数据跨越了25年,所以在我拼凑起来的(基本)声明中,为了得到每年每个月的报告总数,我必须运行它300次。 编辑 我已经删除了起始表中的很多列 – 我这样做是因为我只需要知道每个月发生了多less事故,并且csv文件/起始表有很多信息对我没有用处(如道路types,警力,光线条件)。 该表在以下数据types中具有以下列: ID(自动编号) date(date/时间) Day_of_Week(数字) 时间(date/时间) 在输出中,我只需要按照最早(1979年1月)到最近(2004年12月)的顺序每月发生的事故数量。 由于每年每个月只有一个数字,因此可能会有第二列列出月份/年份,但这对于我使用这些数据不是必要的。

加载CSV文件更快

我加载了大约75个包含一行的CSV文件。 For dataRow = 8 To Worksheets("Liste").Range("B65535").End(xlUp).Row If Dir(FilePath & Worksheets("List").Cells(dataRow, 2) & ".csv") <> "" Then Open FilePath & Worksheets("List").Cells(dataRow, 2) & ".csv" For Input As #2 Line Input #2, LineFromFile LineItems = Split(LineFromFile, ";") itemNumber = 0 For i = 2 To 367 Worksheets("Calendar").Cells(dataRow, i).value = Replace(LineItems(itemNumber), Chr(34), "") itemNumber = itemNumber + […]

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]: […]

Web API操作会返回FileContentResult,如果保存为.csv,将以乱码打开,而如果为.txt,则为ok。 为什么?

我使用ASP.NET Web API通过http获取响应导出文件。 为此,我返回一个FileContentResult对象,如下所示: return File(Encoding.UTF8.GetBytes(fileContents.ToString()), "text/plain; charset=UTF-8"); 经过几分钟的编码问题后,我使用谷歌的高级REST客户端来执行获取到网页API控制器的行动,该文件正在下载就好了。 那么,不完全是。 我最初希望它被发送/下载为.csv文件。 如果我将http请求内容types设置为“ text / csv ”而File()调用也将响应的内容types设置为“text / csv”,Advanced REST Client将正确显示内容,但是Excel会打开它作为乱码数据。 如果我只是简单地将内容types改为“ text / plain ”,把它保存为一个.txt文件(保存后必须重命名,不知道为什么要保存为_.text-plain,而作为csv它以.csv扩展名保存),最后在Excel中执行导入,如此处所述的Excel导入文本向导,然后Excel将正确打开文件。 为什么.csv被打开为乱码,而.txt不是? 对于打开.csv,没有像.txt文件一样的导入向导(不是我所知道的)。 在下面提供一些源代码: StringBuilder fileContents = new StringBuilder(); //csv header fileContents.AppendLine(String.Join(CultureInfo.CurrentCulture.TextInfo.ListSeparator, fileData.Select(fileRecord => fileRecord.Name))); //csv records foreach (ExportFileField fileField in fileData) fileContents.AppendLine(fileField.Value); return File(Encoding.UTF8.GetBytes(fileContents.ToString()), "text/plain; charset=UTF-8"); 根据要求,这两个文件的二进制内容。 文本纯文本(.txt)版本(将在Excel中打开,使用导入): 和.csv之一(excel将用垃圾数据打开的那个): (文件是一样的,截屏的裁剪是不一样的…)