所以我有一个里面有6个dicts的列表,我想把它写成一个csv文件.我已经尝试了很多方法来做到这一点,但到目前为止我还没有成功.当我尝试将其作为列表编写时,当我尝试将其写为字典时,它会给我一个错误,它也会给我一个错误.任何人都可以指出我的写作方向.
r_vals=
[{'distance':2.35, 'mpg': 3.215, 'power': 45.0},{'distance':214.3, 'mpg': 29.3,'power': 124.0},{'distance':2.35, 'mpg': 3.215, 'power': 45.0},...{'distance':0.35, 'mpg': 45.5, 'power': 156.0}]
Run Code Online (Sandbox Code Playgroud)
或者如果有更简单的方法将其作为数据帧,我希望它看起来像这样
distance mpg power
2.35 3.215 45.0
214.3 29.3 124.0
.
.
0.35 45.5 156
Run Code Online (Sandbox Code Playgroud)
谢谢!
我有点困惑为什么这不起作用.我试图让我的程序读取csv文件中的每一行,将其从字符串更改为浮点数,然后逐行打印出来.
csv_list = open('example_data.csv','rb')
lists= csv_list.readlines()
csv_list.close()
for lines in lists:
lists_1 = lists.strip().split()
list_2 = [float(x) for x in lists_1]
print list_2
Run Code Online (Sandbox Code Playgroud)
任何帮助,将不胜感激.
我使用fread()的data.table高效读取大型矩形CSV文件导入R这些都是double(也是唯一double)值-不缺少的元素.
但是,如果我在科学记数法中的数字非常小,它将被转换为破坏整个阅读的字符.这是错误消息(例如,每个小数字都有多个):
16:在fread("SomeCSVFile"):
Bumped列560在数据行16799上键入字符,字段包含'-2.1412168512924677E-308'.将此列中先前读取的值从整数或数字强制转换回可能不是无损的字符; 例如,如果'00'和'000'发生之前它们现在只是'0',并且可能与',,'和',NA'的处理不一致(如果它们发生在碰撞之前的这一列中) ).如果这很重要,请重新运行并为此列设置'colClasses'为'character'.请注意,列类型检测使用前5行,中间5行和后5行,所以希望此消息非常罕见.如果向datatable-help报告,请重新运行并包含verbose = TRUE的输出.
我希望函数将它们设置为零或以最小可能值截断它们(两者都很好).
我试图以.csv的形式从雅虎财经中提取数据,然后将第1列和第5列转换为Python中的列表.如果先前已经下载了.csv,那么将列转换为列表的代码部分是有用的,但我正在尝试做的是直接将数据从url获取到Python中.
我得到的错误是"属性错误:'模块'对象没有属性'请求'." 这是代码:
import urllib
def data_pull():
#gets data out of a .csv file from yahoo finance, separates specific columns into lists
datafile = urllib.request.urlretrieve('http://ichart.finance.yahoo.com/table.csv?s=xom&a=00&b=2&c=1999&d=01&e=12&f=2014&g=m&ignore=.csv')
datafile = open(datafile)
datelist = [] #blank list for dates
pricelist = [] #blank list for prices
for row in datafile:
datelist.append(row.strip().split(","))
pricelist.append(row.strip().split(","))
datelist = zip(*datelist) #rows into columns
datelist = datelist[0] #turns the list into data from the first column
pricelist = zip(*pricelist)
pricelist = pricelist[4] #list gets data from the fifth column
print …Run Code Online (Sandbox Code Playgroud) [
{
"account" : "",
"address" : "D8xWhR8LqSdSLTxRWwouQ3EiSnvcjLmdo6",
"category" : "send",
"amount" : -1000.00000000,
"fee" : -0.00000001,
"confirmations" : 716,
"blockhash" : "4569322b4c8c98fba3ef4c7bda91b53b4ee82d268eae2ff7658bc0d3753c00ff",
"blockindex" : 2,
"blocktime" : 1394242415,
"txid" : "45b629a779e6e0bf6d160c37833a27f1f2cc1bfa34632d166cccae83e69eb6fe",
"time" : 1394242259,
"timereceived" : 1394242259
},
{
"account" : "",
"address" : "DCPFe1fs7qScDFvoTexYqo95LmnJJkjmu7",
"category" : "receive",
"amount" : 0.13370000,
"confirmations" : 717,
"blockhash" : "e9024e177b42ca23fed741fb90c39836de5f9c722a93157e50df2e3f2c318d77",
"blockindex" : 26,
"blocktime" : 1394242412,
"txid" : "ce41b4c35b09ae582436b8138d62375840c32bd9ea0360457bd9f589012d2da3",
"time" : 1394242315,
"timereceived" : 1394242315
},
{
"account" : "",
"address" : …Run Code Online (Sandbox Code Playgroud) 我想通过从我的本地机器执行PS脚本来做到这一点..其中DB服务器是远程机器.
在CSV文件中,我没有指定任何列名.(只有逗号分隔和对齐o/p).
我不想用 BULK INSERT
我正在使用PHP生成CSV文件.我在做什么
<?php
header("Content-type: text/csv");
header("Content-Disposition: attachment; filename="myfile.csv");
header("Pragma: no-cache");
header("Expires: 0");
echo "mycontent";
exit;
Run Code Online (Sandbox Code Playgroud)
它使用我的内容生成CSV文件,但在CSV内容的开头添加了两个额外的空格(我猜的是标签空格).我已经使用trim()和其他相关函数来删除空格,但它没有帮助.
示例输出(带空格):
first_column,second_column
first_data,second_data
Run Code Online (Sandbox Code Playgroud)
但它应该是:
first_column,second_column
first_data,second_data
Run Code Online (Sandbox Code Playgroud)
请帮助我如何在CSV文件的开头删除这两个额外的空格.
我刚刚开始学习SQL,并且正在尝试创建一个表,并在CSV-file 上填充一些数据.
以下是尝试执行此操作的应用程序:
public sqlThingy() throws Exception {
File spritesheetsCreate = new File("sql/spritesheetsCreate.sql");
File spritesheetsData = new File("sql/spritesheetsData.sql");
Class.forName("org.apache.derby.jdbc.EmbeddedDriver").newInstance();
Connection conn = DriverManager
.getConnection("jdbc:derby:TESTNAME;create=true");
//CREATE TABLE
try (PreparedStatement statement = conn
.prepareStatement(readFile(spritesheetsCreate))) {
statement.execute();
}
//FILL TABLE WITH DATA
try (PreparedStatement ps = conn.prepareStatement(readFile(spritesheetsData))) {
try (CSVReader rdr = new CSVReader(new FileReader(new File(
"res/spritesheets.csv")), ',', '"', 1)) {
for (String[] row : rdr.readAll()) {
ps.setString(1, row[0]);
ps.setString(2, row[1]);
ps.setInt(3, Integer.valueOf(row[2]));
ps.execute();
}
}
}
}
private …Run Code Online (Sandbox Code Playgroud) Business Catalyst Web App导入分类列
这是一个有点奇怪的问题,我希望有人可以帮助我.我在我的客户Business Catalyst系统中创建了一个Web App.Web应用程序将包含许多项目,这些项目都被分类为显示在一个或多个页面上.
要导入到Business Catalyst中的CSV文件中的列J是"分类"列,它允许您为项目分配类别.这一切都很好,除了我似乎无法为每个项目分配多个类别.我试图用逗号区分每个类别,没有空格,有空格,使用管道并将它分成2行...无济于事.
有没有人知道如何做到这一点,我不希望他们的Web管理员必须手动分配类别,如果我可以帮助它.
我有一个如下所示的数据集:
id,created_at,username
1,2006-10-09T18:21:51Z,hey
2,2007-10-09T18:30:28Z,bob
3,2008-10-09T18:40:33Z,bob
4,2009-10-09T18:47:42Z,john
5,2010-10-09T18:51:04Z,brad
...
Run Code Online (Sandbox Code Playgroud)
我包含1M +行.我想使用python从中提取用户名列表而不重复.到目前为止我的代码看起来像这样:
import csv
file1 = file("sample.csv", 'r')
file2 = file("users.csv", 'w')
reader = csv.reader(file1)
writer = csv.writer(file2)
rownum = 0
L = []
for row in reader:
if not rownum == 0:
if not row[2] in L:
L.append(row[2])
writer.writerow(row[2])
rownum += 1
Run Code Online (Sandbox Code Playgroud)
我有几个问题:1 - 我在users.csv中的输出如下所示:
h,e,y
b,o,b
j,o,h,n
b,r,a,d
Run Code Online (Sandbox Code Playgroud)
如何删除每个字母之间的逗号?
2 - 我的代码不是很优雅,有没有办法将csv文件作为矩阵导入以选择最后一行,然后在javascript中使用像underscore.js这样的优雅库来删除重复项?
非常感谢
csv ×10
python ×5
list ×2
sql ×2
data.table ×1
derby ×1
dictionary ×1
file-io ×1
html ×1
java ×1
json ×1
php ×1
powershell ×1
r ×1
urllib ×1