我在我的Rails应用程序中创build了一个csv函数。 当用户在Excel中多次打开csv时,有些字段的excel变化如下所示: 1-3 变 Jan-3 我可以通过使用此处概述的解决scheme轻松解决此问题: http : //www.excelforum.com/excel-general/491295-opening-csv-how-to-tell-excel-string-is-not-a-date html的 csvarray.push('="'+result_item.send(column).to_s+'"') csv中的字段变成: ="1-3" 但是,只想转换Excel错误的字段,而不是所有的字段。 我开始做一个: .match(/-/) 但我想知道是否有一个更好,更独特的方式来find违规的领域。 有任何想法吗? Ruby 1.8.7,Rails 3.2.12 编辑:结合@ Agis和@ Mori的答案似乎涵盖了我遇到的大多数例子: def col_is_date?(value) (!!(Date.parse(value) rescue nil)) || ((value =~ /\A\d{1,2}-\d{1,2}\z/) === 0) end 我不知道是谁来给予“正确的”答案 编辑2:关于两个正确的答案我推迟: https : //meta.stackexchange.com/questions/196341/combination-of-two-answers-is-the-correct-answer
我有一个excel文件,我保存为csv。 当我使用python打开和打印csv时,我在行的开始处得到了一些控制字符。 控制字符是\x01 。 有些行有一个在前面,其他有不止一个。 基本上在Excel文件中,作者在一些行中缩进了行文本的开头。 到现在为止还挺好。 我想写一个小的if语句,检查是否有控制字符,然后做一些事情 import csv f = open('/Users/Downloads/Book1.csv', 'r') csv_f = csv.reader(f) for row in csv_f: if row[1][0] is \x01: print("hello") 有人可以帮助我如何比较控制字符?
我写了一个查询外部CSV文件的Excel加载项。 用户将search参数input到电子表格中的单元格公式中,然后公式干净地检索特定数据点并将其输出到单元格中。 我试图devise一个独立的插件,可以为许多不同的客户/客户工作,他们每个人都有自己的一套用户,networking和IT基础设施。 我的问题涉及将加载项与.csv的相应文件path链接起来,该文件path可能会随时更改。 我试图避免在安装.csv时必须手动input文件path,以便以后可以灵活地更改path而不必重新安装。 我最初的想法是在function区上有一个button,让用户通过浏览select文件path。 但是,我不知道如何使该文件pathselect“永久”,以便closures和重新启动Excel时不会丢失。 所以,本质上,我希望让用户能够将文件path保存为一个“首选项”,而不需要触摸开发者标签,而这个标签有很多令人无法抗拒的地方。 我怎样才能做到这一点?
我使用脚本生成一些CSV文件。 接下来,我使用excel中的导入向导,手动将这些csv文件转换为excel表格: 是否有可能自动执行此操作 – 例如通过从命令行调用Excel导入程序 – 所以我不需要打开Excel并执行所有手动工作? 我可以直接在Excel中打开csv文件,但是没有格式化为表格。 例如这个csv文件: a,b,c a,b,c 结果在这个Excel工作表: 我希望每封信都在一个单独的列中。 我看过这个: https://social.technet.microsoft.com/Forums/windowsserver/en-US/370ee470-f2cd-4f30-a167-b106dd51d47a/powershell-convert-csv-to-xlsx?forum=winserverpowershell 但是它创造了一个简单的桌子,它的一大堆锅炉代码。
我有一个Excel文件有3列作为date时间或date或时间字段。 我正在阅读它通过xlrd包,我得到的时间milliseconds我想,当我xlrd它转换回date时间我得到错误的结果。 我尝试将文件转换为csv 。 这也没有帮助,我得到奇怪的date时间格式,我不能理解。 这是我用xlrd格式尝试的。 我更喜欢使用.xlrs扩展名的文件作为input,否则我必须每次获得新的input文件时将excel文件转换为.csv 。 from xlrd import open_workbook import os,pickle,datetime def main(path, filename, absolute_path_organisation_structure): absolute_filepath = os.path.join(path,filename) wb = open_workbook(absolute_filepath) for sheet in wb.sheets(): number_of_rows = sheet.nrows number_of_columns = sheet.ncols for row_index in xrange(1, sheet.nrows): row=[] for col_index in xrange(4,7): #4th and 6th columns are date fields row.append(sheet.cell(row_index, col_index).value) print(row) #Relevant […]
我想添加一个工作表到excel文件:ex.xls,每当我这样做删除所有以前制作的工作表。 如何在不删除其他工作表的情况下将工作表添加到此Excel文件中? 这是我的代码来创build一个工作表: import xlwt import xlrd wb = Workbook() Sheet1 = wb.add_sheet('Sheet1') wb.save('ex.xls')
我正在试图导出一个数据框与前导零像这样的列: df["CD_LIN_NEG"] 0 001 1 001 2 004 3 001 4 001 5 001 6 003 7 006 Name: CD_LIN_NEG, dtype: object 但是,当我导出到CSV,当我在Excel中打开文件时,所有的前导零被切断任何数字。 我怎样才能保持零? 我试图转换为string,但它不工作: df["CD_LIN_NEG"] = df['T_PROD_CP.LN'].astype(str).apply(lambda x: x.zfill(3)) 或者以这种方式: df["CD_LIN_NEG"] = '00' + df['T_PROD_CP.LN'].astype(str)
这是一个简单的问题,但我找不到答案。 我在R中有这个data.frame df <- data.frame(date = as.Date(c("2001-01-05", "2000-05-13", "2000-07-22", "2000-07-22", "1990-11-03"))) 我想将它导出为.csv文件,其中月份将被缩写(%b),年份将为世纪(%Y)年份如下 df1 <- df %>% mutate(date = format(as.Date(date, "%Y-%m-%d"), "%b-%Y")) write.csv(df1, "df1.csv") > df1 date 1 Jan-2001 2 May-2000 3 Jul-2000 4 Jul-2000 5 Nov-1990 打开df1.csv文件后,我发现date格式不同,如下所示 我无法find格式月(缩写) – 年。 任何build议如何解决它?
我找不到用Julia语言输出到多列CSV文件的方法。 我需要将我的模型的结果导出到csv或excel文件。 我想find方法将多个variables导出到多个列,这样我就不必将每个variables导出到不同的csv文件。 比如你有: X = [1,2,3]; Y = [0,0,0,0]; 你怎么能在一列中获得X,在同一个csv文件的另一列中是Y? 非常感谢你提前,
我目前正在开发一个项目,我们希望允许用户将他们的数据导出到CSV。 我们提供的一些数据对于单个单元格具有多个值,因此我们使用标准的CSV方法将每个值放在一行上: Column A, Column B, Column C Value A, "Value B1 Value B2", Value C 大多数时候这工作正常,但有些人报告看到在Excel中加载文件时,在每行的末尾会出现一个盒子字符中的小问号。 为什么发生这种情况?