我有一个非常简单的事情,只输出一些CSV格式的东西,但它必须是UTF-8.我在TextEdit或TextMate或Dreamweaver中打开这个文件,它正确地显示了UTF-8字符,但是如果我在Excel中打开它,它就是这样做的傻事.这是我在文档的头部所得到的:
header("content-type:application/csv;charset=UTF-8");
header("Content-Disposition:attachment;filename=\"CHS.csv\"");
Run Code Online (Sandbox Code Playgroud)
除了Excel(Mac,2008)不想正确导入它之外,这一切似乎都具有预期的效果.Excel中没有选项可以"以UTF-8打开"或其他任何东西,所以......我有点恼火.
尽管有很多人遇到同样的问题,我似乎无法在任何地方找到任何明确的解决方案.我最看重的是包含BOM,但我无法弄清楚如何做到这一点.正如你在上面看到的那样,我只是提供echo这些数据,我不会写任何文件.如果我需要,我可以这样做,我不是因为此时似乎不需要它.有帮助吗?
更新:我尝试回显echo pack("CCC", 0xef, 0xbb, 0xbf);我刚刚从试图检测BOM的网站上提取的BOM.但Excel只会在导入时将这三个字符附加到第一个单元格,并且仍会混淆特殊字符.
尝试导入包含联系信息的CSV:
Name,Address,City,State,ZIP
Jane Doe,123 Main St,Whereverville,CA,90210
John Doe,555 Broadway Ave,New York,NY,10010
Run Code Online (Sandbox Code Playgroud)
运行此似乎不会向数据库添加任何文档:
$ mongoimport -d mydb -c things --type csv --file locations.csv --headerline
Run Code Online (Sandbox Code Playgroud)
Trace说imported 1 objects,但启动Mongo shell并运行db.things.find()并不会显示任何新文档.
我错过了什么?
我试图csv使用C#语言逐行写入文件.这是我的功能
string first = reader[0].ToString();
string second=image.ToString();
string csv = string.Format("{0},{1}\n", first, second);
File.WriteAllText(filePath, csv);
Run Code Online (Sandbox Code Playgroud)
整个函数在循环内运行,每一行都应该写入csv文件.在我的情况下,下一行将覆盖现有行,最后,我在csv文件中获得了唯一一条记录,这是最后一行.如何写入csv文件中的所有行?
我想在我的旧csv文件中添加一个新行.基本上,每次运行Python脚本时它都会更新.
现在我将旧的csv行值存储在列表中,然后删除csv文件并使用新的列表值再次创建它.
想知道有没有更好的方法来做到这一点.
使用Ruby将CSV文件读入数组很容易,但是我找不到有关如何将数组写入CSV文件的任何好文档.谁能告诉我怎么做?
如果重要的话,我正在使用Ruby 1.9.2.
我正在寻找帮助将.csv文件导入SQL Server使用BULK INSERT,我几乎没有基本问题.
问题:
CSV文件数据之间可能有,(逗号)(例如:描述),那么如何进行导入处理这些数据呢?
如果客户端从Excel创建CSV,那么带有逗号的数据将包含在""(双引号)[如下例]中,那么导入如何处理呢?
我们如何跟踪某些行是否包含导致跳过的错误数据?(导入是否会跳过不可导入的行)
以下是带标题的示例CSV:
Name,Class,Subject,ExamDate,Mark,Description
Prabhat,4,Math,2/10/2013,25,Test data for prabhat.
Murari,5,Science,2/11/2013,24,"Test data for his's test, where we can test 2nd ROW, Test."
sanjay,4,Science,,25,Test Only.
Run Code Online (Sandbox Code Playgroud)
和要导入的SQL语句:
BULK INSERT SchoolsTemp
FROM 'C:\CSVData\Schools.csv'
WITH
(
FIRSTROW = 2,
FIELDTERMINATOR = ',', --CSV field delimiter
ROWTERMINATOR = '\n', --Use to shift the control to next row
TABLOCK
)
Run Code Online (Sandbox Code Playgroud) 我有一个包含大约2000条记录的CSV文件.
每条记录都有一个字符串和一个类别.
This is the first line, Line1
This is the second line, Line2
This is the third line, Line3
Run Code Online (Sandbox Code Playgroud)
我需要将此文件读入一个看起来像这样的列表;
List = [('This is the first line', 'Line1'),
('This is the second line', 'Line2'),
('This is the third line', 'Line3')]
Run Code Online (Sandbox Code Playgroud)
如何将此导入csv到我需要使用Python的列表中?
有人知道一个简单的库或函数来解析csv编码的字符串并将其转换为数组或字典吗?
我不认为我想要内置的csv模块,因为在我看到的所有示例中都采用了文件路径,而不是字符串.
我试图在pandas中读取一个大的csv文件(aprox.6 GB),我收到以下内存错误:
MemoryError Traceback (most recent call last)
<ipython-input-58-67a72687871b> in <module>()
----> 1 data=pd.read_csv('aphro.csv',sep=';')
C:\Python27\lib\site-packages\pandas\io\parsers.pyc in parser_f(filepath_or_buffer, sep, dialect, compression, doublequote, escapechar, quotechar, quoting, skipinitialspace, lineterminator, header, index_col, names, prefix, skiprows, skipfooter, skip_footer, na_values, na_fvalues, true_values, false_values, delimiter, converters, dtype, usecols, engine, delim_whitespace, as_recarray, na_filter, compact_ints, use_unsigned, low_memory, buffer_lines, warn_bad_lines, error_bad_lines, keep_default_na, thousands, comment, decimal, parse_dates, keep_date_col, dayfirst, date_parser, memory_map, nrows, iterator, chunksize, verbose, encoding, squeeze, mangle_dupe_cols, tupleize_cols, infer_datetime_format)
450 infer_datetime_format=infer_datetime_format)
451
--> 452 return _read(filepath_or_buffer, kwds)
453
454 parser_f.__name__ …Run Code Online (Sandbox Code Playgroud) 任何人都可以推荐一个简单的API,允许我使用读取CSV输入文件,做一些简单的转换,然后写它.
一个快速的谷歌发现http://flatpack.sourceforge.net/看起来很有希望.
我只想在结合这个API之前检查其他人正在使用的内容.