天道酬勤,学无止境

csv

How to check if .xls and .csv files are empty

问题 问题 1:如何检查整个 .xls 或 .csv 文件是否为空。这是我正在使用的代码: try: if os.stat(fullpath).st_size > 0: readfile(fullpath) else: print "empty file" except OSError: print "No file" 一个空的 .xls 文件的大小大于 5.6kb,因此它是否有任何内容并不明显。 如何检查 xls 或 csv 文件是否为空? 问题2:我需要检查文件的标题。 我如何告诉 python 只有一行标题的文件是空的? import xlrd def readfile(fullpath) xls=xlrd.open_workbook(fullpath) for sheet in xls.sheets(): number_of_rows = sheet.nrows number_of_columns = sheet.ncols sheetname = sheet.name header = sheet.row_values(0) #Then if it contains only headers, treat it as empty. 这是我的尝试。 如何继续使用此代码? 请为这两个问题提供解决方案。 提前致谢。 回答1 这在带有 .empty 方法的 pandas 中很简单

2022-05-16 06:20:16    分类:技术分享    python   python-2.7   csv   xls   xlrd

Python Performance Tuning: JSON to CSV, big file

问题 一位同事要求我将“Yelp 数据集挑战”中的 6 个巨大文件从有点“扁平”的常规 JSON 转换为 CSV (他认为它们看起来像有趣的教学数据) 。 我想我可以用以下方法解决它: # With thanks to http://www.diveintopython3.net/files.html and https://www.reddit.com/r/MachineLearning/comments/33eglq/python_help_jsoncsv_pandas/cqkwyu8/ import os import pandas jsondir = 'c:\\example\\bigfiles\\' csvdir = 'c:\\example\\bigcsvfiles\\' if not os.path.exists(csvdir): os.makedirs(csvdir) for file in os.listdir(jsondir): with open(jsondir+file, 'r', encoding='utf-8') as f: data = f.readlines() df = pandas.read_json('[' + ','.join(map(lambda x: x.rstrip(), data)) + ']') df.to_csv(csvdir

2022-05-16 03:04:09    分类:技术分享    python   json   performance   csv   pandas

Pandas - Usecols when columns exist in csv

问题 由于 usecols 的列和列表不同,因此会吐出错误 “ValueError”Usecols 与名称不匹配。 如果 csv 中存在列,我如何'usecol'? csv 样本: df.csv AB,CD,EF,GH foo,20160101,a,1 foo,20160102,a,3 foo,20160103,a,5 读取 csv: import pandas as pd df = pd.read_csv('df.csv', header=0,usecols=["AB", "CD", "IJ"]) 这就是我想要得到的: df date AB CD 2016-01-01 a 1 2016-01-02 a 3 2016-01-03 a 5 忽略“IJ”。 回答1 import pandas as pd from io import StringIO txt = """AB,CD,EF,GH foo,20160101,a,1 foo,20160102,a,3 foo,20160103,a,5""" usecols = ['AB', 'CD', 'IJ'] df = pd.read_csv(StringIO(txt), usecols=lambda c: c in set(usecols)) print(df) AB CD 0 foo 20160101 1 foo 20160102 2

2022-05-16 02:41:50    分类:技术分享    python   csv   pandas

Matlab fprintf correct format specifier for rounding to 14 decimal places [closed]

问题 关闭。 这个问题是不可重现的,或者是由拼写错误引起的。 它目前不接受答案。 想改进这个问题? 更新问题,使其成为 Stack Overflow 的主题。 5年前关闭。 改进这个问题 我正在使用下面提供的代码来读取矩阵并在每个值的末尾应用分号 ( ; ) 和换行符。 我遇到了精度格式说明符的问题。 代码块下方是 csv 输出中的一行。 您可以看到第 5 列和第 6 列的格式正确,但有些指数值需要四舍五入到小数点后 14 位。 为什么第 4 行的 '%f.14' 不这样做? 我以为它没有使用指数符号? function write_to_csv(filepath, decision) csv = fopen('matrix.csv', 'a+'); for ii = 1:length(decision) format = '%d; %f.14'; fprintf(csv, format, decision(ii)); end fprintf(csv,'\n') fclose(csv); end 1个; 1.032204e-03; -2.580511e-04; 1个; 32190201170708; 17682101210450; 2; 7.600000e-01; -1; 感谢 MChandler 从问题中提供上述代码:Add a delimiter to end of each

2022-05-16 00:30:04    分类:技术分享    arrays   matlab   csv   for-loop   printf

csv into sqlite table python

问题 使用 python,我试图将 csv 导入到 sqlite 表中,并使用 csv 文件中的标题成为 sqlite 表中的标题。 代码运行,但似乎没有创建表“MyTable”。 这是代码: with open ('dict_output.csv', 'r') as f: reader = csv.reader(f) columns = next(reader) #Strips white space in header columns = [h.strip() for h in columns] #reader = csv.DictReader(f, fieldnames=columns) for row in reader: print(row) con = sqlite3.connect("city_spec.db") cursor = con.cursor() #Inserts data from csv into table in sql database. query = 'insert into MyTable({0}) values ({1})' query = query.format(','.join(columns), ','.join('?' * len(columns))) print(query) cursor = con.cursor() for

2022-05-15 22:43:20    分类:技术分享    python   sqlite   csv

Edit and/or Delete a row on CSV file

问题 我有一个 CSV 文件。 我需要编写一个代码,我们可以通过用户名从 CSV 中获取一行。 我需要从 CSV 文件中更新或删除该行。 我设法通过用户名获取行数据。 但我不知道如何编写更新或删除功能的代码。 我获取单行的代码如下 StreamReader reader = new StreamReader(System.IO.File.OpenRead(@"C:\Test\test.CSV")); UserDetailsViewModel objInput = new UserDetailsViewModel(); while (!reader.EndOfStream) { string line = reader.ReadLine(); if (!String.IsNullOrWhiteSpace(line)) { string[] values = line.Split(','); if (values[0] == "Bharat") { objInput.FirstName = values[0]; objInput.LastName = values[1]; objInput.Address1 = values[2]; objInput.Address2 = values[3]; objInput.City = values[4]; objInput.State =

2022-05-15 19:09:03    分类:技术分享    c#   asp.net   asp.net-mvc   file   csv

How to get csv.writer to remove the delimiter character inside of columns?

问题 I'm trying to convert a json table to a csv file but the problem is that when a field contains the delimiter character it gets copied just the same and it can cause some interpretation problems later on. Is there an option in csv.writer to remove delimiter characters inside the fields if they are present ? Or at least brace the field with quotes I guess. 回答1 尝试通过 quoting=csv.QUOTE_ALL 到csv.writer构造函数。 这将迫使图书馆引用所有字段。 这是引用参数文档的链接和 csv.QUOTE_ALL 文档的链接。

2022-05-15 16:48:04    分类:技术分享    python   csv

Reading from CSV: delimiter must be a string, not unicode

问题 我有一个工作例程(在一些有用的人在这个线程中给了我一些重要的建议之后)从 CSV 文件创建模型实例。 到目前为止,我一直在使用 Python 2.7,并确保任何地方都没有出现特殊字符。 目前我需要迁移到 Unicode。 我添加了 # -*- coding: utf-8 -*- 在我的文件顶部,一切都运行良好(我可以在我的代码和注释中使用特殊字符),除了 CSV 阅读器例程。 即,shell 反对这部分: dataReader = csv.reader(open(filename), delimiter=';', quotechar='"') 这是以前的工作,与 TypeError: "delimiter" must be string, not unicode 在阅读了一些较旧的问题后,我切换到 dataReader = csv.reader(open(filename), delimiter=str(u';'), quotechar=str(u'"')) 强制执行分隔符将是一个字符串这一事实,但我得到了完全相同的错误。 我究竟做错了什么? 回答1 当我将代码从没有from __future__ import unicode_literals的文件切换到有它的文件时,发生在我身上。 (蟒蛇2.7) 它更改了字符串的默认编码并弄乱了现有代码。 通过更改来修复它: #

2022-05-15 14:45:04    分类:技术分享    python   django   csv

merge and match two csv files with .net

问题 我有两个要合并的 csv 文件。 基本上,我有我的源文件,第二个文件将使用他们共享的主键向该文件添加信息。 我已经使用 v-lookup 完成了这项工作,但由于这将是每周一次的过程,因此我想使用 vb.net 或 C# 将其自动化。 有任何想法吗? 谢谢 回答1 很可能在 vb.net 或 c# 中将 SQL 与 CSV 文件一起使用。 一些注意事项: cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=c:\docs\;" & _ "Extended Properties=""text;HDR=Yes;FMT=Delimited""" cn.Open() cmd.Connection = cn cmd.CommandType = CommandType.Text cmd.CommandText = "SELECT a.PK, b.SText,a.[Processor Time] INTO BookX.csv " & _ "FROM [Book1.CSV] a " & _ "LEFT JOIN [Book2.CSV] b " & _ "ON a.PK = b.PK"

2022-05-15 13:52:09    分类:技术分享    .net   excel   csv

Reading csv file and returning as dictionary

问题 我编写了一个当前可以正确读取文件的函数,但存在一些问题。 它需要作为字典返回,其中键是艺术家姓名,值是元组列表(对此不确定,但这似乎是它的要求) 我遇到的主要问题是我需要以某种方式跳过文件的第一行,我不确定我是否将它作为字典返回。 以下是其中一个文件的示例: "Artist","Title","Year","Total Height","Total Width","Media","Country" "Pablo Picasso","Guernica","1937","349.0","776.0","oil paint","Spain" "Vincent van Gogh","Cafe Terrace at Night","1888","81.0","65.5","oil paint","Netherlands" "Leonardo da Vinci","Mona Lisa","1503","76.8","53.0","oil paint","France" "Vincent van Gogh","Self-Portrait with Bandaged Ear","1889","51.0","45.0","oil paint","USA" "Leonardo da Vinci","Portrait of Isabella d'Este","1499","63.0","46.0"

2022-05-15 12:29:04    分类:技术分享    python   file   python-3.x   csv   dictionary