- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
根据我的研究,csv.writeRow 应该接受一个列表,然后将其写入给定的 csv 文件。这是我尝试过的:
from csv import writer
with open('Test.csv', 'wb') as file:
csvFile, count = writer(file), 0
titles = ["Hello", "World", "My", "Name", "Is", "Simon"]
csvFile.writerow(titles)
我只是想把它写成每个单词都在不同的列中。
但是,当我打开它创建的文件时,我收到以下消息:
无论如何按继续,我收到一条消息说文件已损坏,或者是 SYLK 文件。然后我可以打开文件,但只有在每次打开文件时都经过两条错误消息后才能打开。
这是为什么?
谢谢!
最佳答案
这是一个documented issue如果前两个字符是“ID”,Excel 将假定 csv 文件是 SYLK。
冒险进入意见领域 - 它不应该,但 Excel 认为它比扩展更了解。公平地说,人们希望它能够找出扩展名确实错误的情况,但在这种情况下,假设扩展名是错误的,然后进一步假设文件已损坏,但如果解释它似乎没有损坏根据扩展名,这简直令人难以置信。
@John Y 指出:
One thing to watch out for: The "workaround" given by the Microsoft issue linked to by @PeterDeGlopper is to (manually) prepend an apostrophe into the file. (This is also advice commonly found on the Web, including StackOverflow, to try to force CSV digits to be treated as strings rather than numbers.) This is not what I'd call good advice, as that injects a literal apostrophe into your data.
@DSM 建议对作者使用 quoting=csv.QUOTE_NONNUMERIC
。 Excel 不会被以 "ID"
而不是 ID
开头的文件混淆,因此如果要使用 CSV 的其他工具接受该引用级别,这可能是除了忽略 Excel 的困惑之外的最佳解决方案。
关于Python 的 csv.writerow() 有点古怪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18113975/
我有以下代码: import csv input_file = csv.reader(open('template.csv','r+')) #template.csv has 10 lines out
我是 Python 领域的新手。我最近一直在对 CSV 文件进行一些 I/O 操作,我在 csv 模块中发现了两个名称非常相似的方法 - writerow() 和 writerows()。文档中的区别
我有三个 DynamoDB 表。两个表具有属于应用程序一部分的实例 ID,另一个表是我的所有帐户中的所有实例和标签元数据的主表。我对两个表进行了两次扫描以获取实例 ID,然后在主表中查询标签元数据。但
我正在开发的函数,应该在每次调用时添加新的一行字符串和数字分隔符。 我将一个字符串和一个数字列表作为函数的参数传递。 目前,当函数调用时,它仅将参数写入如下: [1.0, 2.0, 3.0] 但是,我
我有一个 CSV,比如 2.csv,在此处发布示例: ,ANPIS,,,,,,, ,AGENTIA JUDETEANA PENTRU PLATI SI INSPECTIE SOCIALA TIMIS,
我目前正在我的 Python 脚本中调用一个 python 脚本,并试图将我的调用输出保存在一个 CSV 文件中。目前它可以工作,但是,每个字符之间都有一个逗号,因此输出不正确。 这是什么原因造成的?
我正在用 Python 3 测试一些非常简单的代码。出于某种原因,下面的代码生成一个空输出,而不是写一行 import csv output = open('hello world.csv', 'w'
使用 Python,我在列表中有一个日期时间对象。我在程序执行期间想要和拥有的日期时间格式是 (%Y/%m/%d %H:%M)。 然后,我使用 csv.writer 和 writerows(在列表列表
这是来自 O'Reilly Cookbook 的示例(截断的数据集) headers = ['Symbol','Price','Date','Time','Change','Volume'] rows
我目前正在从rest api 打印数据。它可以很好地打印,但我想将输出保存到 csv 上的列中。我收到错误 TypeError: writerows() argument must be iterab
我有以下 python 代码,它遍历我的 csv 文件,删除所有百分号 (%),并将文件重写回新的 csv 文件。 在我运行我的代码之前,数据看起来是这样的: |第 1 栏 |第 2 栏 |第 3 栏
以下代码适用于创建 .csv 文件(在 Python 2.7 中): with open('court_addresses.csv', 'w') as csvfile: fieldnames
我正在尝试使用以下代码在 python 中将数据写入 csv 文件: with open('test.csv', 'w') as csvfile: writer = csv.writer(csvfil
The documentation对于 writerows 状态 Write all the rows parameters (a list of row objects as described a
我有一个要写入 csv 文件的字符串列表。列表 list_results 看起来像 ['False, 60, 40 ', 'True, 70, 30, '] 所以,我会尝试这样的事情: with op
根据我的研究,csv.writeRow 应该接受一个列表,然后将其写入给定的 csv 文件。这是我尝试过的: from csv import writer with open('Test.csv',
此代码打开 URL 并在末尾附加 /names 并打开页面并将字符串打印到 test1.csv: import urllib2 import re import csv url = ("http://
Python 2.7 我正在尝试获取此页面上的公司名称并将其保存在 csv 文件中。 我的代码的第一部分工作正常,但每个返回的对象(公司名称)之间有空格。 我在编写结果并将其保存在 csv 文件中时也
我有两个类似于以下示例的词典: # First dictionary dict_names = {} dict_names[1] = 'Jane' dict_names[2] = 'Alex' dic
我有一个列表列表。每个列表应包含 6 个元素。在某些情况下,我的列表只包含 1 个元素(检查以下列表的最后一个元素): [['lemonade', '/g/11bz0dg4b_', '46.65225
我是一名优秀的程序员,十分优秀!