我正在寻找一个用于创建CSV Excel文件的课程.
预期功能:
你知道任何一个班级吗?
我们有一个Web应用程序,可以导出包含UTF-8的外来字符的CSV文件,没有BOM.Windows和Mac用户都在Excel中获得垃圾字符.我尝试用BOM转换为UTF-8; Excel/Win很好用,Excel/Mac显示乱码.我正在使用Excel 2003/Win,Excel 2011/Mac.这是我尝试过的所有编码:
Encoding BOM Win Mac
-------- --- ---------------------------- ------------
utf-8 -- scrambled scrambled
utf-8 BOM WORKS scrambled
utf-16 -- file not recognized file not recognized
utf-16 BOM file not recognized Chinese gibberish
utf-16LE -- file not recognized file not recognized
utf-16LE BOM characters OK, same as Win
row data all in first field
Run Code Online (Sandbox Code Playgroud)
最好的是具有BOM的UTF-16LE,但CSV不被识别.字段分隔符是逗号,但分号不会改变.
是否有任何编码在两个世界都有效?
我是Python的新手.我需要将程序中的一些数据写入电子表格.我在网上搜索过,似乎有很多可用的软件包(xlwt,XlsXcessive,openpyxl).其他人建议写一个.csv文件(从未使用过的CSV,并不真正理解它是什么).
该计划非常简单.我有两个列表(浮点数)和三个变量(字符串).我不知道两个列表的长度,它们的长度可能不一样.
我希望布局如下图所示:

粉色列将具有第一个列表的值,绿色列将具有第二个列表的值.
那么最好的方法是什么?
PS我正在运行Windows 7,但我不一定在运行此程序的计算机上安装Office.
import xlwt
x=1
y=2
z=3
list1=[2.34,4.346,4.234]
book = xlwt.Workbook(encoding="utf-8")
sheet1 = book.add_sheet("Sheet 1")
sheet1.write(0, 0, "Display")
sheet1.write(1, 0, "Dominance")
sheet1.write(2, 0, "Test")
sheet1.write(0, 1, x)
sheet1.write(1, 1, y)
sheet1.write(2, 1, z)
sheet1.write(4, 0, "Stimulus Time")
sheet1.write(4, 1, "Reaction Time")
i=4
for n in list1:
i = i+1
sheet1.write(i, 0, n)
book.save("trial.xls")
Run Code Online (Sandbox Code Playgroud)
我用你所有的建议写了这个.它完成了工作,但可以略微改进.
如何将for循环中创建的单元格(list1值)格式化为科学或数字?
我不想截断这些值.程序中使用的实际值在小数点后大约为10位数.
我正在尝试从csv文件创建一个字典.csv文件的第一列包含唯一键,第二列包含值.csv文件的每一行代表字典中唯一的键值对.我试图使用csv.DictReader和csv.DictWriter类,但我只能弄清楚如何为每一行生成一个新的字典.我想要一本字典.这是我尝试使用的代码:
import csv
with open('coors.csv', mode='r') as infile:
reader = csv.reader(infile)
with open('coors_new.csv', mode='w') as outfile:
writer = csv.writer(outfile)
for rows in reader:
k = rows[0]
v = rows[1]
mydict = {k:v for k, v in rows}
print(mydict)
Run Code Online (Sandbox Code Playgroud)
当我运行上面的代码时,我得到了一个ValueError: too many values to unpack (expected 2).如何从csv文件创建一个字典?谢谢.
我有一张这样的桌子
Value String
-------------------
1 Cleo, Smith
Run Code Online (Sandbox Code Playgroud)
我想将逗号分隔的字符串分成两列
Value Name Surname
-------------------
1 Cleo Smith
Run Code Online (Sandbox Code Playgroud)
我只需要两个固定的额外列
请问在PHP中将MySQL查询转换为CSV的最有效方法是什么?
最好避免临时文件,因为这会降低可移植性(dir路径和设置所需的文件系统权限).
CSV还应包括一个顶行的字段名称.
在我正在处理的Web应用程序中,用户可以单击指向CSV文件的链接.没有为mime类型设置标头,因此浏览器只是将其呈现为文本.我想将此文件作为.csv文件发送,因此用户可以使用calc,excel,gnumeric等直接打开它.
header('Content-Type: text/csv');
echo "cell 1, cell 2";
Run Code Online (Sandbox Code Playgroud)
此代码在我的计算机上按预期工作(不是它一直是这样吗?)但在另一台计算机上不起作用.
我的浏览器是每晚构建的FF 3.0.1(在Linux上).它不起作用的浏览器是IE 7和FF 3.0(在Windows上)
有没有我不知道的怪癖?
我可以很容易地将数据转储到文本文件中,例如:
sqlcmd -S myServer -d myDB -E -Q "select col1, col2, col3 from SomeTable"
-o "MyData.txt"
Run Code Online (Sandbox Code Playgroud)
但是,我查看了帮助文件,SQLCMD但没有看到专门针对CSV的选项.
有没有办法使用表格将数据从表格转储到CSV文本文件SQLCMD?
假设我有一个.csv包含以下内容的文件:
"text, with commas","another text",123,"text",5;
"some without commas","another text",123,"text";
"some text with commas or no",,123,"text";
Run Code Online (Sandbox Code Playgroud)
如何通过PHP解析内容?
如果我有一个包含以逗号分隔的数字列表的std :: string,那么解析数字并将它们放在整数数组中的最简单方法是什么?
我不想将其概括为解析其他任何内容.只是一个逗号分隔整数的简单字符串,如"1,1,1,1,2,1,1,1,0".