为了测试一些功能,我想DataFrame从一个字符串创建一个.假设我的测试数据如下:
TESTDATA="""col1;col2;col3
1;4.4;99
2;4.5;200
3;4.7;65
4;3.2;140
"""
Run Code Online (Sandbox Code Playgroud)
将数据读入熊猫的最简单方法是什么DataFrame?
我有一个csv文件,pandas.read_csv当我使用过滤列usecols并使用多个索引时,它没有正确使用.
import pandas as pd
csv = r"""dummy,date,loc,x
bar,20090101,a,1
bar,20090102,a,3
bar,20090103,a,5
bar,20090101,b,1
bar,20090102,b,3
bar,20090103,b,5"""
f = open('foo.csv', 'w')
f.write(csv)
f.close()
df1 = pd.read_csv('foo.csv',
header=0,
names=["dummy", "date", "loc", "x"],
index_col=["date", "loc"],
usecols=["dummy", "date", "loc", "x"],
parse_dates=["date"])
print df1
# Ignore the dummy columns
df2 = pd.read_csv('foo.csv',
index_col=["date", "loc"],
usecols=["date", "loc", "x"], # <----------- Changed
parse_dates=["date"],
header=0,
names=["dummy", "date", "loc", "x"])
print df2
Run Code Online (Sandbox Code Playgroud)
我希望df1和df2应该是相同的,除了丢失的虚拟列,但列标记错误.此日期也被解析为日期.
In [118]: %run test.py
dummy x
date loc
2009-01-01 a bar 1
2009-01-02 a …Run Code Online (Sandbox Code Playgroud) 我有一个CSV文件,我直接导入到SQL服务器表.在CSV文件中,每列用逗号分隔.但我的问题是我有一个列"地址",此列中的数据包含逗号.所以发生的事情是地址列的一些数据将转移到其他列将导入到SQL服务器.
我该怎么办?
我有一个PHP脚本调用MySQL LOAD DATA INFILE来从CSV文件加载数据.但是,在生产服务器上,我最终得到以下错误:
用户拒绝访问...(使用密码:是)
作为一种快速解决方法,我将命令更改为LOAD DATA LOCAL INFILE有效.但是,使用此消息在客户端的服务器上同样的命令失败:
此MySQL版本不允许使用used命令
我认为这事做与服务器变量:local_infile = off如描述在这里.
请建议不涉及更改服务器设置的解决方法.请注意,安装在同一服务器上的phpMyAdmin实用程序似乎接受CSV文件,但我不确定它是否使用LOAD DATA (LOCAL) INFILE.
我正在尝试将数据从 csv 文件导入到 SQL Server。csv 文件中有数千个条目,并且许多行中的数据不正确。
CSV 文件中的一些行是:
`"ID"|"EmpID"|"FName"|"LName"|"Gender"|"DateOfBirth"
"1"|"90043041961"|"ABCD"|"TEST"|"F"|"1848-05-05 00:00:00.000"
"1"|"10010161961"|"XYZ"|"TEST"|"F"|"1888-12-12 00:00:00.000"
.
.
..
..
....
"4"|"75101141821PPKKLL"|"LLKK"|"F"|"1925-09-09 00:00:00.000"|""
"4"|"32041401961UUYYTT"|"PPLL"|"M"|"1920-01-01 00:00:00.000"|""
.
.....
"25"|"00468132034"|"FGTT"|"OOOO"|"F"|"1922-11-11 00:00:00.000"
"25"|"00468132034"|"KKKK"|"PPPP"|"F"|"1922-11-11 00:00:00.000"
Run Code Online (Sandbox Code Playgroud)
创建 TestTable 并尝试将数据(来自 csv 文件)插入其中:
create table TestTable
(
ID varchar(5),
EmpID varchar(25),
FName varchar(25),
LName varchar(25),
Gender varchar(5),
DateOfirthB varchar(30)
);
Run Code Online (Sandbox Code Playgroud)
我使用以下脚本将数据从 csv 文件导入到TestTableSQL Server 中:
bulk insert TestTable
from 'C:\TestData.csv'
with
(firstrow = 2,
DATAFILETYPE='char',
FIELDTERMINATOR= '"|"',
ROWTERMINATOR = '\n',
ERRORFILE ='C:\ImportErrors.csv',
MAXERRORS = 0,
TABLOCK
);
Run Code Online (Sandbox Code Playgroud)
错误: …
我想使用csv文件导入SQLite数据库
sqlite> .separator ,
sqlite> .mode csv data
sqlite> .import test.csv data
Run Code Online (Sandbox Code Playgroud)
data具有三列的表名称在哪里,就像文件一样.
该文件具有一些使用双引号封装的字符串值.一些字符串值中包含逗号(文件中的实际示例"Bond\, James"),应将其视为单个列,但SQLite会产生错误
Error: test.csv line 2: expected 3 columns of data but found 4
Run Code Online (Sandbox Code Playgroud)
如何让SQLite正确导入这些值?
我似乎无法深究这一点,我想阅读一个包含阿拉伯字符的csv文件,但它没有正确阅读.
这是我的sessionInfo
R version 3.2.4 Revised (2016-03-16 r70336)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows >= 8 x64 (build 9200)
locale:
[1] LC_COLLATE=English_United States.1252 LC_CTYPE=English_United States.1252
[3] LC_MONETARY=English_United States.1252 LC_NUMERIC=C
[5] LC_TIME=English_United States.1252
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] dplyr_0.4.3 plyr_1.8.3
loaded via a namespace (and not attached):
[1] magrittr_1.5 R6_2.1.2 assertthat_0.1 parallel_3.2.4 DBI_0.3.1 tools_3.2.4
[7] Rcpp_0.12.4
Run Code Online (Sandbox Code Playgroud)
我试过这个
ar <- read.csv (file.choose(), encoding = "UTF-8")
Run Code Online (Sandbox Code Playgroud)
还有这个
ar <- read.csv (file.choose(), encoding = …Run Code Online (Sandbox Code Playgroud) 我想在Swift中读取.csv数据,所以我告诉我如何制作这个.最后我进入了这个: https ://github.com/Flinesoft/CSVImporter CSVImporter.
但它说:"你当然也可以通过下载将这个框架手动包含在你的项目中".
那没关系,但有几个文件夹,因为我以前从未将文件库导入Swift,我不知道下载什么以及我应该将它包含在我的项目中.
我希望,任何人都可以帮助我.谢谢.
我正在将一个包含数百行的 CSV 导入到我的 Rails 数据库中。
有时用户想要强制覆盖数据,所以我认为最好销毁所有数据并重新开始。
就像是:
account.catalog_listings.delete_all if should_refresh
CSV.foreach(file, options) do |row|
account.catalog_listings.create!({...rowstuff})
Run Code Online (Sandbox Code Playgroud)
问题是该delete_all行引发 PG 错误
ActiveRecord::StatementInvalid (PG::NotNullViolation: ERROR: null value in column "account_id" violates not-null constraint
DETAIL: Failing row contains (1, null, ... ... ).
: UPDATE "catalog_listings" SET "account_id" = NULL WHERE "catalog_listings"."account_id" = $1):
app/models/catalog_listing.rb:41:in `import_catalog_listings'
app/controllers/accounts_controller.rb:20:in `catalog'
Run Code Online (Sandbox Code Playgroud)
我确实有null: false几个外键字段,但我不明白为什么delete_all要尝试删除外键而不是删除整个记录?
更新 - 当我改变时一切正常:
account.catalog_listings.delete_all if should_refresh
到:
account.catalog_listings.destroy_all if should_refresh
除了destroy遍历每一项并逐一删除:
SQL (0.1ms) DELETE FROM …Run Code Online (Sandbox Code Playgroud) 我目前正在尝试将大约10000行(从CSV文件)导入到现有表中.
我只有一列,我试图导入,但在我的表中我有另一列调用TypeId,我需要设置为静态值,即99E05902-1F68-4B1A-BC66-A143BFF19E37.
所以我需要类似的东西
INSERT INTO TABLE ([Name], [TypeId])
Values (@Name (CSV value), "99E05902-1F68-4B1A-BC66-A143BFF19E37")
Run Code Online (Sandbox Code Playgroud)
任何例子都会很棒.
谢谢
csv-import ×10
csv ×5
sql-server ×3
pandas ×2
python ×2
arabic ×1
bulkinsert ×1
mysql ×1
r ×1
sql ×1
sqlite ×1
string ×1
swift ×1
xcode ×1